Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29234 Discussions

Accessing IMSL in Visual Studio .NET Using IVF Pro

lpartin1
Beginner
3,419 Views
I must be missing something simple. I got my first dll accessing IMSL to work in Visual Studio .NET but I had to give it the full paths to IMSL include folders and linker libs. What's the right way?
Also, there was an error when uninstalling IVF to install the new package ID. I'm attaching a Word document showing the error.
Thanks,
Lee
0 Kudos
31 Replies
lpartin1
Beginner
1,228 Views

That worked great!

Place the IMSL lib and include folders within Tools .. Options .. Intel Fortran .. General. Then, you don't need to do it at the project level. .NET remembers it for all projects.

Lee

0 Kudos
Steven_L_Intel1
Employee
1,228 Views
Right - that was part of the setup shown in the manual pages I posted earlier. Glad you got it working.
0 Kudos
g_f_thomas
Beginner
1,228 Views
It was also the recipe provided in my initial response to the OP. The same solution has been offered here on at least two other occasions so it helps if prior postings are checked.

Ciao,
Gerry T.
0 Kudos
lpartin1
Beginner
1,228 Views

Thanks for the help. I'm getting close to getting it to work.

I am creating a dll. If I select Configuration Properties / Fortran / LIbraries / Runtime Library as Debug Single-threaded, then I am able to debug the dll using an Excel spreadsheet and VBA. If I select the Debug Single-threaded DLL option, then the VBA code fails with error 53 - dll file not found.

Does the first option use the static fortran library and the second option use the run-time fortran dll? What is the name of the run-time dll?

Thanks,

Lee

0 Kudos
lpartin1
Beginner
1,228 Views

I've made progress on getting the Single-threaded DLL to run. I switched from a spreadsheet to a C# console application for the call to the DLL. .NET gave much better messages of the error when trying to run the DLL. The following threeDLLs were not found:

libifcorertd.dll libmmd.dll libmmdd.dll

I am trying to find out why the IDE does not find them. Tools .. Options .. Intel Fortran .. General .. Executables has two entries that may apply:
$(IFortInstalDir)Bin
C:Program FilesCommon FilesIntelShared FilesIa32Bin
I do not know the folder path for the first entry. The second folder does not exist on my installation of IVF 8 Prof.
Lee
0 Kudos
TimP
Honored Contributor III
1,228 Views

Those files should be present in every installation of ifort 8.0, standard location program filesintelfortrancompiler80ia32lib

You would not be able to build any Fortran application if your VS is not set up to use that folder.

0 Kudos
lpartin1
Beginner
1,228 Views

Yes, I found the files and copied them to C:WindowsSystem32 as a temporary fix to get it working. What is the proper solution for the IDE to find them?

Thanks,
Lee

0 Kudos
Steven_L_Intel1
Employee
1,228 Views

As mentioned above, you don't have to copy the files anywhere. Just make sure that the folder they're in is included in the list that is the value of the PATH environment variable. That's the way the compiler install sets it up if you specify that environment variables are to be updated.

It's sort of a mess - Microsoft's rules for Windows Installer disallow a product from copying DLLs into Windows or Windows System - the idea being that you put the DLLs along side the EXE. But that doesn't work for things such as compilers, where the user creates the EXE. And of course Microsoft flouts its own rule by putting its own language DLLs in Windows System. Putting the folder in PATH is the recommended approach.

0 Kudos
lpartin1
Beginner
1,228 Views

Did I miss something on installing the software that the PATH was not updated for being able to run programs from the IDE?

Thanks,

Lee

0 Kudos
Steven_L_Intel1
Employee
1,228 Views
There is a screen in the install that asks if you want the system environment variables updated. The default is to not do this, per Microsoft's recommendation. But in the case of an application with DLLs, you would probably prefer that this option be selected. Or you can add the folder(s) to PATH manually.
0 Kudos
lpartin1
Beginner
1,228 Views
Thanks, Steve.
I have it running well now.
Lee
0 Kudos
Reply