Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Portability of Executable files

Nan_Deng
Beginner
682 Views
We developed some applications and compiled with Visual Fortran v11 to be used on multiple workstations. However, I found the compiled executables are no completely portable - I must copy one library file named libiomp5md.dll to the searchable path to make the executable to run. Did I miss something in downloading the compiler or I have used wrong flags in compilation? Any help is greatly appreciated.
0 Kudos
4 Replies
anthonyrichards
New Contributor III
682 Views
I believe that he first 'd' in 'libiomp5md.dll indicates that you have dependence on a debug library. So you have to recompile all your files making sure that you have selected release configuration.
0 Kudos
Steven_L_Intel1
Employee
682 Views
No, that would be "mdd".

By default, the OpenMP library is linked as a DLL library. You can add /openmp-link:static to specify a static library, but this option may go away in a future release.

The alternative is to install the compiler redistributables on the target system.
0 Kudos
Jugoslav_Dujic
Valued Contributor II
682 Views
Out of curiosity, what does that final "d" in libiomp5md stands for? What about libifcoremd? I find it terribly confusing with Debug libraries.
0 Kudos
Steven_L_Intel1
Employee
682 Views
This is a Microsoft convention that matches the Visual C++ switches used to select libraries.

md = /MD = DLL
mt = /MT = Multithreaded static library

However, debug DLL libraries don't usually follow this. For example, msvcrt is the regular DLL whereas msvcrtd is the debug DLL. I guess if it ends specifically in "md" then it's a normal DLL. If the ending is something else followed by d, then it's probably a debug dll.
0 Kudos
Reply