1

VisualStudio11ベータ版を使用してアプリを開発しました。アプリは、VS11ベータ版がインストールされていないコンピューターでは実行されません...

.NET Framework 4.5をインストールしましたが、役に立ちませんでした...

VS11を使用していないコンピューターでファイルを機能させるには、ファイルを何をインストールまたは追加する必要があるかについて、誰かが提案を持っていますか?

4

1 に答える 1

1

Visual Studio で新しい C++ アプリケーションを作成しているときに新しいプロジェクトを作成すると、このプロジェクトでは既定でランタイム ライブラリオプションがリリース構成用の/MDまたはデバッグ用の/MDdに設定されています。「このオプションでコンパイルされたアプリケーションは、MSVCRT.lib に静的にリンクされます。このライブラリは、リンカーが外部参照を解決できるようにするコードのレイヤーを提供します。実際の作業コードは MSVCR * .DLL に含まれています。これは、実行時に使用可能である必要があります。 MSVCRT.lib にリンクされたアプリケーション。」

あなたがする必要があるのは、プロジェクト設定、構成プロパティ -> C/C++ -> コード生成に移動し、ランタイム ライブラリをリリース用マルチスレッド (/MT) / デバッグ用マルチスレッド デバッグ (/MTd)に変更することです。これにより、ランタイム ライブラリが静的にリンクされ、アプリケーションは実行時にその DLL を読み込もうとしなくなります。

ランタイムの依存関係を確認する良い方法は、Dependency Walkerを使用することです
。アプリケーションをビルドし、アプリ (.exe) をそのアプリケーションにドラッグ アンド ドロップするだけで、その依存関係が表示されます。おそらく、現在MSVCR110.DLLが表示されている場所です。ランタイム ライブラリの使用を /MT に変更する場合は、アプリを再ビルドして、この依存関係が本当になくなったかどうかを確認してください :)

于 2012-06-02T13:01:44.863 に答える