我在Windows 7上的VS 11 Beta中编译了一个非常基本的C ++程序。
除运行时库外,所有项目设置均为默认设置。我将多线程DLL(/ MD)更改为多线程(/ MT)。就我所知,这会静态链接运行时库。
尝试在安装了VS 11 Beta的另一台Windows 7计算机上运行此exe工作正常。
尝试在没有安装VS的windowx XP机器上运行它会导致弹出错误信息。
“ * * .exe不是有效的Win32应用程序”
是否有一些设置需要更改才能在Win7上使用VS 11 Beta编译的XP上进行二进制工作?
答案 0 :(得分:6)
VS 11不再支持Windows XP。这是由微软设计的。
http://connect.microsoft.com/VisualStudio/feedback/details/690617
此行为是针对Visual Studio 11 Beta的MFC和CRT设计的。支持的最低操作系统是Windows Server 2008 SP2和Windows Vista。 Windows XP不是Beta版本支持的操作系统(设计时或运行时)。
进一步阅读讨论,发布版本可能支持Windows XP。我不愿意这样做。
编辑:Microsoft已经让步:Targeting Windows XP with C++ in Visual Studio 2012
答案 1 :(得分:2)
可能你是为64位Windows编译的。但是,Windows XP仅支持32位代码。