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

Running 32 bit exes from a 64 bit exe

Les_Neilson
Valued Contributor II
1,230 Views
According to the VS C++ Help "Interprocess Communication" "The CreateProcess and ShellExecute functions can launch 32-bit and 64-bit processes from either 32-bit or 64-bit processes"

I don't need interprocess communication per se, but I do need to run external 32-bit exes from a 64-bitexe. The 64-bit exe is a mixed language project. In the Fortran codewe use the SYSTEM function and in C/C++ code we use CreateProcess - neither of which work.
For both mechanisms I get a box informing me that the 32-bit exe "has stopped working. A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available"

I have just tried opening a Build Environment command window for Intel 64 version 10.1 and then running the 32-bit exe. Thisgives me a box saying "This application has failed to start because libifcoremd.dll was not found"

Now obviously the command window is set up to point to the 64-bit environment anda 64-bit version ofany dll can't be loaded froma 32-bit exe. So presumably something similar is happening when running the 32-bit exes from the 64-bit exe (64-bit environment is being inherited by the 32-bit exe ?)

Has anyone come across this problem beforeand does anyone have a solution ?

Thanks
Les
0 Kudos
2 Replies
TimP
Honored Contributor III
1,230 Views
You would need to add the 32-bit library PATH, at least in the environment you set up in the SYSTEM function call, in order to use dynamic linked compiler run-time libraries for the 32-bit .exe.
0 Kudos
Les_Neilson
Valued Contributor II
1,230 Views
Quoting - tim18
You would need to add the 32-bit library PATH, at least in the environment you set up in the SYSTEM function call, in order to use dynamic linked compiler run-time libraries for the 32-bit .exe.

I was afraid of that (but half expected it would be the case)

:-(

Les
0 Kudos
Reply