2012-04-10 20 views
1

上では動作しません、私はCで非常に基本的なプログラムを持っ++すべてのプロジェクト設定ウィンドウ7.C++のバイナリがWindows XP

にVS 11ベータ版でコンパイルは、ランタイムライブラリを除き、デフォルトです。マルチスレッドDLL(/ MD)をマルチスレッド(/ MT)に変更しました。これは、私が知る限り、ランタイムライブラリを静的にリンクします。

VS 11 Betaがインストールされている別のWindows 7マシンでこのexeを実行しようとするとうまく動作します。

VSをインストールしていないWindows XPマシンで実行しようとすると、エラーポップアップが表示されます。

「** .exeのは有効なWin32アプリケーションではありません」

Win7の上のVS 11のベータ版でコンパイルされたXP上のバイナリ仕事をするために変更する必要があるいくつかの設定はありますか?

+3

を、あなたは、32ビットまたは64ビットのバイナリをコンパイルしたことがありますか? – orlp

+0

@ nightcracker良い点。私はプロジェクト設定でx64設定を見つけることができないようです。それはどこか別の場所に移動しましたか? –

+1

Windows XPはVisual Studio 11ではサポートされていませんが、その問題を回避できる可能性があります:http://stackoverflow.com/questions/7702463/what-is-special-about-the-executables-compiled-with-visual -studio-11-that-resul – DCoder

答えて

6

VS 11はWindows XPをサポートしていません。これは、マイクロソフトの設計によるものです。

http://connect.microsoft.com/VisualStudio/feedback/details/690617

この動作は、Visual Studio 11ベータ版のためのMFCとCRTの設計によるものです。サポートされる最小のオペレーティングシステムは、Windows Server 2008 SP2およびWindows Vistaです。 Windows XPは、ベータ版(設計時または実行時)でサポートされているオペレーティングシステムではありません。

さらに詳しい説明を読むと、Windows XPがリリース版でサポートされる可能性があります。私はそれに銀行しないだろう。

編集:マイクロソフト折れていますTargeting Windows XP with C++ in Visual Studio 2012

2

おそらく、64ビットWindows用にコンパイルされたでしょう。ただし、Windows XPは32ビットコードのみをサポートしています。

+2

XPの64ビット版もあります(ただし、32ビット版は*ロット*が一般的です)。 –

+0

プロジェクト設定でx86 x64の設定が見つかりませんでした。それがどこにあるのだろうか? –

関連する問題