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

libifcoremdd.dll dependency

cfann61
Beginner
908 Views

I have a .dll(mtrx.dll) and an .exe which is dependent on it. How can I get rid of the dependency on libifcoremdd.dll, libifcorertd.dll, libifportmd.dll, libmmd.dll, libmmdd.dll, mfc71d.dll, msvcp71d.dll, and msvcr71d.dll?

I want to be able to run the .exe with mtrx.dll alone, without having all the others involved. Is that possible?

0 Kudos
3 Replies
mecej4
Honored Contributor III
908 Views
When you build mtrx.dll and the .exe, specify the multithreaded libraries with the /MT option instead of the /MD option. You will not completely eliminate dependencies on system DLLs, but at least the Intel compiler DLLs libif*.DLL will not be needed.

Alternatively, you may ask your users/customers to install the free Intel redistributables package.

With older versions of the Windows SDK and VC, it was possible to use static, single-threaded libraries, but those libraries are no longer provided.
0 Kudos
cfann61
Beginner
908 Views

Perhaps I'm putting /MT in the wrong place. I'm using VS .NET 2003. I went to Properites->Fortran->Command Line. That is where I inserted the /MT. When I try to run the .exe, it's still looking for libif*.dll.

0 Kudos
TimP
Honored Contributor III
908 Views
It would be better to find the properties>libraries page selection, if there was such in VS2003, which specifically (in release mode) selects /MD (default for C++) or /MT (should be default for ifort). In a multiple project build, you must make them consistent throughout. If you are trying to remove dependency on debug libraries, use release mode throughout.
0 Kudos
Reply