2009-10-28 6 views
6

OpenMPを使用するVS 2008 ProにDLLプロジェクトがあります。クライアントに多くのライブラリを配布したくないので、私はすべての依存関係を静的にDLLにリンクさせたいので、「コード生成」オプションとして/ MTを使用します。すべてがこの1つのDLLファイルに含まれます。問題は、結果として得られるDLLがまだVCOMP90.DLLに依存していることです。VS2008 Pro OpenMPプロジェクトのVCOMP90.DLLへの依存

どうすればこの依存関係を取り除くことができますか?

いくつかの情報:

  • /OpenMPのが
  • コンパイラオプションに設定されている私は、静的に含まvcomp.libに対して
  • をリンク

  • マルチスレッドライブラリ(/ MT)を使用して
  • に設定されています

ありがとうございました!

答えて

8

私はあなたのDLLの依存関係を取り除くことができるでしょうとは思わない - vcomp.libはVCOMP90.DLLのためのインポートライブラリである - それは静的ライブラリではありません。

静的なlibが提供されていないようです。

+0

残念ながら、正しいと思われます... –

+0

この記事:http://msdn.microsoft.com/en-us/magazine/cc163717.aspxによると、Xbox 360 SDKは静的リンクをサポートしていますOpenMP。私はそれが何か助け(多分VSにハックすることができますか?)かどうかわからない。また、MSはソースを提供していますか(私は現在OpenMPライブラリを持っているマシンではありません)?もしそうなら、静的なlibをコンパイルできるかもしれません。いずれのオプションも、実行可能でさえあれば、リスクはあると思います。 –

+0

なぜなら、OpenMPは複数回ロードされてもうまく動作しないからです。 [こちら](https://software.intel.com/en-us/articles/openmp-static-library-deprecation-in-intelr-mkl-on-microsoft-windows)をお読みください。 – rustyx

関連する問題