1

Windows7のVS11BetaでコンパイルされたC++の非常に基本的なプログラムがあります。

ランタイムライブラリを除くすべてのプロジェクト設定はデフォルトです。マルチスレッドDLL(/ MD)をマルチスレッド(/ MT)に変更しました。これは、私が知る限り、ランタイムライブラリを静的にリンクします。

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

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

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

Win7のVS11BetaでコンパイルされたXPでバイナリを機能させるために変更する必要のある設定はありますか?

4

2 に答える 2

6

VS11はWindowsXPをサポートしなくなりました。これはMicrosoftの設計によるものです。

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

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

議論をさらに読むと、WindowsXPがリリースバージョンでサポートされている可能性があります。しかし、私はそれに頼りません。

編集: Microsoftは容赦しました:VisualStudio2012でC++を使用してWindowsXPをターゲットにする

于 2012-04-10T20:17:06.483 に答える
2

おそらく、64ビットWindows用にコンパイルしました。ただし、WindowsXPは32ビットコードのみをサポートします。

于 2012-04-10T20:11:05.983 に答える