OpenGL、GLFW、C/C++を使用してゲームを作成しました。私はSOILやirrKlangのようなサードパーティ製のライブラリを使用しています。私はMicrosoft Visual 2015を使用しています。デバッグとリリースの両方のバージョンは、Visual Studioから正常に実行されます。プロパティ - > C++ - >コード生成 - >ランタイムライブラリで/ MDdを選択しました。私は他の設定を試みましたが、リリース版は他の設定とはうまく動作しませんでした。すべての.dllファイルは、リリースおよびデバッグフォルダに保存されます。 しかし、自分のリリースのフォルダに移動してそこにある.exeをコピーして貼り付けると、デスクトップにもはや実行されません。 irrKlang.dllが見つからないというメッセージが表示され続けます。誰かが私のゲームのスタンドアロンの.exeを稼働させる方法を説明してもらえますか?デスクトップから実行できるVisual Studio 2015で.exeを作成する方法
答えて
ここに2つのものがあります。最初に、.exeはアプリケーションのエントリポイントを含む実行可能ファイルです。これは本当にあなたが必要とする最初の作品です。しかし、アプリケーションは静的にリンクされていないコードに依存することができますが、動的にリンクされるコードは実行時にのみロードされます。これらのコードの実行時ライブラリは、DLL(「動的リンクライブラリ」)と呼ばれます。
アプリケーションがDLLに依存している場合、実行中はlook for that DLLになります。見つからない場合は、見つからないDLLに関するメッセージボックスが表示されます。したがって、.exeファイルだけでなく、それが依存するすべての.dll(およびそれに依存する)もコピーする必要があります。アプリケーションが多くのデフォルトのシステムDLLとリンクすることに注意してください。 kernel32が含まれていますが、これらはシステム検索パスに常に存在するため、.exeの横にコピーする必要はありません。
今、2番目の部分です。 Visual StudioがインストールされていないPCでアプリケーションを実行する場合は、VS2015ツールチェーンが自動的にインストールされたC/C++ランタイムをコンピュータにインストールする必要があります。これらは手作業でコピーするDLLではありません。むしろ、redistributable installerがあり、すべてのアプリケーション用にPCにそれらをグローバルにインストールします。あなた自身のインストーラでこれを出荷することができます。
リリースでは、/MD
(デバッグ用のCRTはデバッグ専用で、Visual Studioがインストールされている場合にのみインストールされます。これはPCの外で実行することを目的としていません)とリンクしたいと考えています。
この文:。
「両方のデバッグとVisual StudioからOKバージョンの実行をリリースプロパティで - > C++ - >コードGeneration->ランタイムライブラリのI/MDDを選択した私は、他の設定が、リリースを試してみました。バージョンは他のバージョンとはうまく動作しません。
私には、おそらく、サードパーティのライブラリの1つのリリースバージョンがないと信じられます。
/MDdはアプリケーションにMSランタイムのデバッグバージョンを使用させます。つまり、プロジェクト内の何かがデバッグバージョンでビルドされています。
私は実行ファイルとDLLの依存関係を見るために 'depends.exe'アプリケーションを使用します。以前はマイクロソフトから直接提供されていましたが、現在は第三者経由でサポートされているようです。古いSDKにはそれがあります。
- 1. Visual Studio 2015でインストーラーexeを作成する方法
- 2. Visual Studio 2015でexeファイル(ucrtbased.dll)を実行できないのはなぜですか?
- 3. Visual Studio 2015で複数のスタートアッププロジェクトを実行できません
- 4. Visual Studio 2015でUWP NUnitテストを実行するには?
- 5. .exeインストーラから特定のexeファイルを実行する方法
- 6. Visual Studioでデータベース図を作成する2015
- 7. F#Androidプロジェクトを作成できません - Visual Studio 2015 Xamarinコミュニティ
- 8. Visual Studio 2015:空のプロジェクトを作成
- 9. Visual Studio 2010でサービスを監視するexeを作成
- 10. USB接続の「Surface 3」でデスクトップ上で開発されたアプリケーション(Visual Studio 2015)の実行に失敗する
- 11. Visual Studio 2015で実行中のブレークポイントオプションがありますか?
- 12. アップデートデータベースを実行するたびにVisual Studio 2015がクラッシュする
- 13. コードスタジオでVisual Studio 2015を並行して実行中
- 14. Visual Studio Community 2015をVisual Studio Professional 2015に簡単にアップデートできます。
- 15. Visual Studio 2015でjsファイルを非表示にする方法は?
- 16. asp.net-mvcをVisual Studioで表示する方法2015
- 17. Visual Studio 2015でぼやけたフォントを修正する方法
- 18. Visual StudioでJSLint警告を抑制する方法2015
- 19. UWPのVisual Studio 2015でユニットテストをスピードアップする方法
- 20. Visual Studio 2015で複数行属性を書き込む方法は?
- 21. Visual Studio C++でexeをビルドする方法
- 22. AzureクラウドサービスをVisual Studio 2015から公開できません
- 23. フラッシュドライブからVisual Studio 2010を実行できますか?
- 24. Visual Studioにプロジェクトをインストールするmain exeからバージョンを設定する方法
- 25. Visual StudioコードでGruntから実行されたジャスミンテストをデバッグする方法は?
- 26. Visual Studio 2015からGit bareリポジトリを作成するにはどうしたらいいですか?
- 27. Visual Studio 2015/Visual Assistオートコンプリートの動作
- 28. Visual Studio 2015パッケージの復元方法は?
- 29. 別のネットワークからexeを実行する方法
- 30. Visual Studio 2015ビジネスインテリジェンスプロジェクトテンプレート
「他のどのデバイスとも動作しませんか? PC? – Cameron
通常は、すべての依存関係をインストールするインストーラを作成するか、ドライブにそれらがあることを確認したインストーラを作成しています。多くのDLLが存在する可能性があるため、すべての依存DLLをexeファイルに入れてください。 – cerkiewny