C ++二进制文件在Windows XP上不起作用

时间:2012-04-10 20:08:46

标签: c++ visual-studio windows-xp

我在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上进行二进制工作?

2 个答案:

答案 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位代码。