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

Compiling Library to be linked with c linker without dbghelp.dll

nbunderson
Beginner
829 Views
Hi everyone, these forums have been great for me in the past, thanks in advance for help with this post. Let's say I want to create a static library using the windows version of the fortran compiler. The library will later be linked with a program using a non-intel compiler. I can do this cleanly with linux but it seems that the windows version always require dbghelp.dll, even if I am using the "release" default libraries. I would rather not have to send that dll around with my static library. Can this be done?

So my procedure is: I have disabled the standard default dependencies and include each of the following as additional dependencies: ifconsol.lib libifcoremt.lib libifport.lib libmmt.lib LIBCMT.lib libirc.lib svml_disp.lib OLDNAMES.lib. The library compiles fine (although with some warnings about multiple declarations in LIBCMT.lib) but when I try to link the library with the other compiler I'm missing symbols such as imp__SymInitialize. I have traced these to dbghelp.dll

Thanks!

Nate
0 Kudos
1 Reply
Steven_L_Intel1
Employee
829 Views
Nate,

I don't think I've ever tried to build a static library that has included into it all of the run-time libraries. But I suppose you can do it. You may run into trouble with inserting both LIBCMT.lib and libirc.lib.

Are you building a debug or release configuration? When I build a release configuration library, there are no references to dbghelp.dll. There is a reference to imagehlp.dll, but that's a Windows system DLL.

I would recommend building a Release configuration and setting the Fortran property Libraries > Disable default OBJCOMMENT directives to Yes.
0 Kudos
Reply