I have a problem of running an ( ).exe generated using static lib (.obj) from compiled sources of finite elements software MSC MARC, with adding to these libraries my user subroutines in order to generated new .exe of the code. I am using VS 2013 community and Intel(R) Visual Fortran Compiler XE 15.0. the compilation is under the platform 64. There is no errors or warnings. when I run the generated .exe I get this message:
The procedure entry point for_uninit_use_src could not be located in the dynamic link library C:\RUNN\plotv.exe.
after this not found entry, in visual studio output I have:
FTH: (9412): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
'plotv.exe' (Win32): Unloaded 'C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\mpirt\impi.dll'
The thread 0x948 has exited with code 0 (0x0).
The thread 0x3174 has exited with code 0 (0x0).
First-chance exception at 0x00007FFA177A5AA0 (ntdll.dll) in plotv.exe: 0xC0000139: Entry Point Not Found.
The thread 0x32a8 has exited with code -1073741511 (0xc0000139).
The program ' plotv.exe' has exited with code -1073741511 (0xc0000139) 'Entry Point Not Found'.
Thank you for your help.
Strange that the message calls an EXE a dynamic link library. That you get the entry point message suggests that you linked the Intel Fortran run-time library into your DLL. The rest of the messages are not interesting. Would you please attach a zip of the buildlog.htm for a rebuild of your EXE? I assume your EXE is plotv.exe. If it isn't, also attach a ZIP of the buildlog.htm of your EXE.
Thank you for your reply.
Here in the following link (active via the internet browser), you find the .exe file (plotv.exe), the file .htm and other .dll of MSC MARC needed for the file .exe (the zip file is RUNN.zip).
Thanks for providing all of that. The problem is that you compiled the program with Intel compiler version 15 but you have placed in the executable folder Intel run-time DLLs from version 12 of the compiler. If you must copy DLLs, you have to use the same version as the compiler or newer, or else you'll have a problem if the compiler is calling a run-time routine not present in the older version.
The preferable solution is to remove all of the DLLs from Intel Fortran from your folder and install the compiler redistributables from here. I see you also have a mix of Microsoft Visual C++ DLLs as well, but I'm not going to comment on that.
At a minimum, replace the following DLLs with those from version 15 or later: libifcoremd,libifportmd, libiomp5md, libmmd, svml_dispmd
Thank you, it works. I took these DLLs from the folder of MSC MARC and it is true that their version is 12. Now I am using DLLs from my compiler 15, and it is working fine.
Thank you for your help.
Have a nice day.