スタンドアロンのexeを作成するようにプログラムをコンパイルしようとしています。 実際に私は2つの問題があります:スタティックリンクでコンパイルVS2015
プロパティ - > C/C++ - >コード生成 - >ランタイムライブラリに行き、マルチスレッド(/ MT)に変更しました。
この後、.exeのサイズが増えましたが、別のコンピュータでこのファイルを使用しようとすると「このプログラムを実行できません:msvcp140d.dllという名前のDLLが必要です」
これは2つの問題ですが、なぜ私はリリース版をコンパイルしているので、DLLのデバッグ版を使用するように頼んでいるのか理解できません。彼らは静的にリンクされています/:
PS:私はOpenCV3.0プロジェクトをコンパイルしようとしています。/
編集:1つの問題が解決されました:私はMSVCP140d.dllを使用して自分のプログラムを作成するリリースリンカーでopencv_imgproc310d.dllを使用していました。 今、私はまだexeがスタンドアロンではないという問題があります。それは動作するにはDLLが必要です。 (私は私のVSをアップアップしたので、私は最新版を持っています)。 ありがとう
私が知っている限り、マルチスレッドを使用していても、静的ランタイムを使用しているわけではありません。それは別のものです。 –
http://stackoverflow.com/questions/20890458/compile-c-in-vs-without-requiring-msvcp120d-dll-at-runtime この投稿でこの解決策を見ました:/ –