views:

608

answers:

1

I have a DLL project in VS 2008 Pro which uses OpenMP. I use /MT as 'code generation' option, because I want all my dependencies statically linked into my DLL, since I do not want to distribute many libraries to my clients - everything shall be included in this one DLL file. The problem is that my resulting DLL still depends on VCOMP90.DLL.

How can I get rid of this dependency?

Some information:

  • /openmp is set in compiler options
  • I statically link against vcomp.lib
  • #include is set
  • using multithreaded library (/MT)

Thanks a lot for your help!

A: 

I don't think you'll be able to get rid of the DLL dependency - vcomp.lib is an import library for the VCOMP90.DLL - it's not a static library:

It doesn't look like a static lib is provided.

Michael Burr
unfortunately, it seems like you're correct ...
andreash
Note that this article: http://msdn.microsoft.com/en-us/magazine/cc163717.aspx says that the Xbox 360 SDK supports static linking of the OpenMP. I don't know if that's any help (maybe it can be hacked over to VS?). Also, does MS provide source (I'm not at a machine with the OpenMP libs right now)? If so, maybe a static lib can be compiled. Either option sounds risky, though, if even workable.
Michael Burr