重複の可能性:
Visual Studio 2010 でコンパイルされた C++ DLL を Windows 2000 で使用する際の問題
次の質問と同様:
Visual Studio 2010 の C++ コンパイラを Visual Studio 2008 の C++ ランタイム ライブラリで使用できますか?
VS2010 は、Windows 2000 で動作するネイティブ実行可能ファイルを作成できますか?
WinXP マシンでVS2010 (CL バージョン 16.00.30319.0 )を使用してコマンド ラインから ( CL.EXE を使用して) コンパイルしている C++ コードがありますが、結果のネイティブ (x86) 実行可能プログラムを Win2000、WinXP で実行したいなど
古いバージョンの CL (VC98、バージョン 12.00.8186 ) は問題なく動作しますが、VS2010 バージョンでは実行可能ファイルが生成され、Win2000 で実行するとポップアップ エラーが発生します。
foo.exeは有効な Win32 アプリケーションではありません
ソリューションは、VisualStudio の設定やプロパティではなく、 CL コンパイラまたはリンカー オプションの形式である必要があります。コードは数年前のもので、他の OS に移植できるように作成されているため、新しい C++ 言語機能は必要ありません。ネイティブ コード (.NET や CLI ではなく x86) の実行可能ファイルのみが必要です。
(例については、 http ://david.tribble.com/src/crlf.cppおよびhttp://david.tribble.com/src/detab.cppを参照してください。)
新しい開発環境 (WinXP、そして最終的には Windows 7) で古いコンパイラ (VS 9.0) を使い続けることができると思いますが、それは理想的なソリューションとは言えません。確かに、MS は、古いがまだ現存する Windows OS と下位互換性のあるネイティブ実行可能ファイルを作成する方法をまだ提供していますか?