Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Win32 / x64 linking problem

Ian_A_
Beginner
333 Views

I am trying to compile a C++ DLL for both Win32 and x64 platforms. Both DLLs are dependent on libmmd.dll and libiomp5md.dll .

According to Dependency Walker, the Win32 DLL is dependent on the x64 DLLs in..\redist\intel64\compiler.

These should presumably be the Win32 DLLS in  ..\redist\ia32\compiler, but I cannot figure out how to tell Visual Studio 2010 to link to them. (The Windows environment variable "path" includes both directories.) Any suggestions?

0 Kudos
3 Replies
Ian_A_
Beginner
333 Views
I may have answered my own question -- using the VC++ linker command /VERBOSE:Lib showed that the linker searches the ..\redist\ia32\compiler directory only, so presumably the correct DLLs are being accessed. The problem is presumably with Dependency Walker. (There are Win32 and x64 versions of this program, and I used the appropriate version for each DLL.)
0 Kudos
mecej4
Honored Contributor III
333 Views
Dependency Walker (and other similar utilities) probably depend on the correct DLL being found first on the %PATH% chain before another DLL with the same name (probably different architecture than the subject .EXE). This is probably more of an issue with DLLs that are not in the Windows system (Windows\System32, Windows\Syswow64) directories. Check your PATH, correct it if necessary, and retry with Dependency Walker.
0 Kudos
SergeyKostrov
Valued Contributor II
333 Views
>>...Both DLLs are dependent on libmmd.dll and libiomp5md.dll... I suggested a long time ago a better naming rule, for example, for Debug configuration, like: [ for 32-bit applications ] libmmd.dll ( libmmd.lib ) libiomp5md.dll ( libiomp5md.lib ) or libmm32d.dll ( libmm32d.lib ) libiomp5m32d.dll ( libiomp5m32d.lib ) [ for 64-bit applications ] libmm64d.dll ( libmm64d.lib ) libiomp5m64d.dll ( libiomp5m64d.lib ) The rule is very simple and I regret to see that it is not used in many Intel software products.
0 Kudos
Reply