我最近從Visual Studio Express的2010升級到Visual Studio 2012 Express的Windows桌面。我知道以前缺乏兼容性,目標是Windows XP,但認爲這已通過更新1(我已安裝)解決。MS的Visual Studio 2012 Express的Windows桌面 - 針對Windows XP
然而,我仍然有困難與C++應用程序我一直在使用2012點快速編譯針對Win XP的。我已將平臺工具集設置爲「Visual Studio 2012 - Windows XP(v110_xp)」,但這沒有什麼區別。當我嘗試在我的Windows XP系統(我通過VirtualBox運行Windows XP)上運行我編譯的應用程序時,出現錯誤,我的應用程序「不是有效的Win32應用程序」。
我自己也嘗試設置CLR支持「無公共語言運行庫支持」和運行時庫「多線程(/ MT)」。
即使使用下面的代碼一個非常基本的空白C++項目,我不能讓它在XP上運行:
#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501
#include <iostream>
int main()
{
std::cout << "TEST" << std::endl;
std::cout << std::endl << std::endl << "Press ENTER to close this window.";
std::cin.get();
return 0;
}
誰能告訴我在哪裏,我要和我的編譯器去錯了/項目設置?
P.s.我已在我的XP虛擬機上安裝了MS VC++ 2010和2012可再發行組件包。我使用Visual Studio Express 2010編譯的應用程序在我的XP虛擬機上正常工作。
檢查你的目標平臺的構建 - >配置管理器。 – shf301
您當然可以在XP上運行使用VC 10 toolchain編譯的程序。這與使用VS 2010進行編譯基本相同,但是您並沒有聲明您需要在該問題中使用VC 11工具鏈。 –
@ shf301 - 目標平臺是Win32。 – Colin