3

Microsoft Visual Studio C++ Express 2010 で Windows 7 を実行している PC でコンパイルした Win32 C++ アプリケーションがあります。アプリケーションは \MT ランタイム フラグ (マルチ スレッド) を使用してリリース モードでコンパイルされます。

私の問題: Windows Vista を実行しているラップトップで .exe を実行しようとすると、アプリケーションがクラッシュし、メイン ウィンドウが開きません。私が使用している .exe は、ビジュアル スタジオ プロジェクトの「リリース」フォルダーからの出力です。

アプリケーションのほとんどの win32 関数を確認しましたが、それらはすべて Windows 2000 以降で動作します。また、Visual Studio プロジェクトを Windows Vista ラップトップに移動してコンパイルしたところ、問題なく動作しました。

.exe がクラッシュするのはなぜですか? これは、異なるバージョンの Windows OS で .exe を動作させるには、インストーラーを使用するしかないということですか? .exe のサイズは 175kb しかないので、インストーラーはおそらく出力された .exe よりも大きくなります笑?

4

1 に答える 1

1

VS2010 ランタイム再配布可能パッケージが必要なようです。リンクは VS2010 SP1 用であることに注意してください。SP1 でコンパイルしていない場合は、SP1 なしの VS2010 が必要になる場合があります。

于 2012-04-09T07:13:24.020 に答える