私はC++プログラミングの初心者です。私は友人と共有することに決めました。そしていくつかの試みの後で、それをリリースモードでどのようにコンパイルするかを考えました。ただし、リリースモードでさえ、それは依然としてMSVCP110D.dllに依存しています。私はこれを修正する方法があるかどうか疑問に思っていましたか?リリースモードはまだMSVCP110D.dll(C++ MSVS)に依存しています
答えて
1)MSVCP110D.dllは、MS Cランタイムライブラリの「デバッグ」バージョンのランタイム.dllです。だからあなたの.exeは、 "Release"のために作られていないかもしれないようです。
http://www.microsoft.com/en-us/download/details.aspx?id=30679
3)ここでは、この特定の問題についての詳細は次のとおりです:残念ながら
が
2)ここで、 "Visual Studioのランタイム再頒布" するための情報でありますmsvcp100D.dllはデバッグDLLであり、Microsoft Visual C++ Redistrutableパックには が含まれていません年齢。これは、 通常のデバッグバージョンは開発者以外にリリースされていないためです。 開発者は、Visual Studioでデフォルトでインストールしています。
"Release"でプロジェクトをコンパイルすると、 が必要なすべてのDLLがMicrosoft Visual C++ Redistrutableパッケージに含まれます。
そうでない場合は、あなたが(コンパイラオプションにデバッグ構成で リリースおよび/ MTdにに/ MTを指定する)すべてのライブラリの静的リンクを行うことができますが、あなたが実行可能な多くの 情報に入れbecouse は個人的に私はそれをお勧めしません。 (デバッガで使用される)アプリケーションの速度が遅くなります。
は私のために解決しました。最近、同様の問題が発生しました。私の結果のDLLが/ Ddを/ MDに変更したが、同じ理由で正しいとは思わなかったMSVCP100D.dllにも依存していたため、正しいDLLVにMSVCR100.dll(Dなし)が依存していました。長い調査の後、私はそれがプリプロセッサ定義に依存することを発見した。 _DEBUGをDEBUGに変更すると、私の問題が解決しました。 – Nahum
私はあなたの問題は、DLLのデバッグバージョンに依存していると推測しています&は、DLL自体に依存しません。
それはあなたが/DDEBUG
でコンパイルするとmsvcpd.lib
とリンク/DDEBUG
または/D_DEBUG
OR
でコンパイルこれら2つのこと
のいずれかを実行することか可能性が高いです
/D_DEBUG
、および#include
標準のC++ヘッダーの1つで、msvcpd.lib i(with a #pragma(lib)
に引っ張られ、msvcpd ***。dllに依存します。msvcp(d)* .dllは、標準C++ライブラリのdllバージョンです。
代わりに、dllの任意のバージョン、つまり静的にC++ライブラリにリンクしたい場合は、
_STATIC_CPPLIB
でプログラムをコンパイルできます。
すみません、私は信じられないほど新しいことです。しかし、DLLを静的にリンクするにはどうしたらいいですか?私はそれをコンパイルすると、コンパイルタイプをデバッグからリリースに変更しました。その後、自分の.exeと.cppを含むリリースフォルダを作成しました。 –
@ user2396111ソリューション - >プロパティ、C/C++、プリプロセッサ - > _STATIC_CPPLIBを右クリックして、さまざまな既存のプリプロセッサ定義に追加します。また、そこにいるときは、DEBUGまたは_DEBUGがすでに定義されているかどうかを確認してください。 – user93353
これはそれではなく、VS2012の廃止予定のオプションです。 C/C++、コード生成、ランタイムライブラリ=/MT –
追加のライブラリを使用していますか? おそらく、実行可能ファイルにdllファイルのデバッグバージョンを含めたことがあります。
- 1. C++オブジェクトファイルのサイズは何に依存していますか?
- 2. golangはcランタイムに依存していますか?
- 3. Gradle Tasksはまだ存在してはいけないファイルに依存します
- 4. MSVS 2010プロジェクトをMSVS 2012 RCに変換してもエラーが発生する "C++標準ではこのタイプのハッシュは提供されていません"
- 5. rand()の数値はCの関数に依存しています
- 6. Nuget.exeインストール - Microsoft.CSharpはすでにSystem.Dynamic.Runtimeに依存しています
- 7. lddは依存関係の依存関係も示していますか?
- 8. MSVSまたはXcode:機能に直接ステップします
- 9. C++は変数の型をコンテキストに依存しますか?
- 10. C時間機能はシステムクロックに依存しますか?
- 11. CocoaPodsプロジェクトはローカルの静的Cライブラリに依存します
- 12. Symfony 3.1.2 "サービス 'プロファイラ'は存在しないサービス 'debug.security.access.decision_manager'に依存しています。"
- 13. サービス "security.firewall.map.context.main"は存在しないサービス "Security.context"に依存しています
- 14. サブジェクトからオブザーバへの依存関係に依存していますか?
- 15. 依存性hsqldエラーgeotools 17.1?私は MVN依存したんだ
- 16. Macアドレス - C++ - プラットフォームに依存しない
- 17. ユニットテスト機能はMouseEventArgsに依存していますか?
- 18. easymockはnet/sf/cglib/proxy/Enhancerに依存していますか?
- 19. コンテナは特定のホストに依存していますか?
- 20. mod_rewriteはどのモジュールに依存していますか?
- 21. Pythonはどのカーネルサービスに依存していますか?
- 22. php select文は変数に依存しています
- 23. 遅延ロードはデータベースに依存していますか?
- 24. ajaxはブラウザに依存していますか?
- 25. ウェブサイトのレンダリングはOSに依存していますか?
- 26. SQL where節は他のテーブルに依存しています
- 27. Connector/Jはlibmysqlclient.soに依存していますか?
- 28. Rails 5はGitに依存していますか?
- 29. オーディオサンプルの周波数はチャンネルに依存していますか?
- 30. html5とcss3は何に依存していますか?
私が引っ張っています唯一の外部のリソースがあるの#include「stdafx.hを」 の#include の#include の#include しかし、私はリリースモードで、これは外部のリソースのためのすべての必要性を除去するであろうという印象の下にあったとそれ自体の内部で完全に実行されます。 –
msvcp100d.dllに依存していることをあなたがどのように知っているか説明しないことで、あなた自身や私たちを助けているわけではありません。 **あなたはmsvcp110.dllのリリースビルドに依存していますが、iostream用のコードが含まれています。 .exe、msvcr110.dllと一緒にコピーする必要があります。または、/ MTを有効にしてビルドするだけで、DLLを使用しない単純なプログラムでも問題ありません。 –
依存性ウォーカーを使用しようとしましたか? – makc