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

Compile 32bit application on 64bit computer

Brian_Triplett
676 Views
I have a question similar tohttp://software.intel.com/en-us/forums/showthread.php?t=75756. I am trying to compile a executable with OMP however the resulting executable is linking to the 64bit version of libiomp5md.dll due to the PATH environment variable finding the intel64 directory first. When I deploy to a 32bit machine it fails saying "libiomp5md.dll was not found."
I'm confused on a couple points.
1) If libiomp5md.dll is being linked dynamically, why is it not copied to the output directory? Why does it still run on my local computer (a 64bit machine)?
2) Is there a way to set the project properties to flag which version of the OMP libraries to use? Changing the PATH environment variable seems like a inappropriate step each time I want to change the target architecture.
Any help or clarification of this would be appreciated.
0 Kudos
1 Solution
Steven_L_Intel1
Employee
676 Views
DLLs are not copied as part of any build process. If you are deploying an ifort-compiled executable on a system that doesn't have ifort installed, you need to make sure any dependent DLLs are on the target system. For an application that uses OpenMP, that includes libiomp5md.dll. You can copy it manually or install the "redistributables" package that you'll find here.

When you install Intel Fortran on a 64-bit system, you get both 32-bit and 64-bit files. When running the program, Windows knows to skip over the "wrong" architecture file while searching PATH.

View solution in original post

0 Kudos
1 Reply
Steven_L_Intel1
Employee
677 Views
DLLs are not copied as part of any build process. If you are deploying an ifort-compiled executable on a system that doesn't have ifort installed, you need to make sure any dependent DLLs are on the target system. For an application that uses OpenMP, that includes libiomp5md.dll. You can copy it manually or install the "redistributables" package that you'll find here.

When you install Intel Fortran on a 64-bit system, you get both 32-bit and 64-bit files. When running the program, Windows knows to skip over the "wrong" architecture file while searching PATH.
0 Kudos
Reply