1

我在 Windows 7 上的 VS 11 Beta 中编译了一个非常基本的 C++ 程序。

除运行时库外,所有项目设置均为默认设置。我将多线程 DLL (/MD) 更改为多线程 (/MT)。据我所知,这静态链接运行时库。

尝试在另一台安装了 VS 11 Beta 的 Windows 7 机器上运行此 exe 可以正常工作。

试图在没有安装 VS 的 windows XP 机器上运行它会导致弹出错误提示。

* *.exe 不是有效的 Win32 应用程序”

是否需要更改某些设置才能使在 Win7 上使用 VS 11 Beta 编译的 XP 上的二进制工作?

4

2 回答 2

6

VS 11 不再支持 Windows XP。这是 Microsoft 的设计。

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

此行为是在 MFC 和 CRT for Visual Studio 11 Beta 中设计的。支持的最低操作系统是 Windows Server 2008 SP2 和 Windows Vista。Windows XP 不是 Beta 版本(设计时或运行时)支持的操作系统。

进一步阅读讨论,发布版本可能支持 Windows XP。不过我不会指望它。

编辑:微软让步了:在 Visual Studio 2012 中使用 C++ 定位 Windows XP

于 2012-04-10T20:17:06.483 回答
2

可能您为 64 位 Windows 编译。但是,Windows XP 仅支持 32 位代码。

于 2012-04-10T20:11:05.983 回答