如何使用Visual Studio 2012为Windows XP编译?

问题描述 投票:23回答:3

[好,所以我正在Windows 7 x64中使用Visual Studio 2012进行编程和编译。我的应用程序在那里正常运行,但是当我尝试从Windows XP SP3虚拟机执行它时,我立即得到“ xxxx.exe不是有效的win32应用程序”。

正在使用静态链接(即,使用/MT编译应用程序。我已经在targetver.exe中将_WIN32_WINNT设置为0x0501;将配置管理器设置为Win32,并且链接器高级选项中的目标计算机设置为MACHINEX86。

我的targetver.h看起来像这样:

#include <winsdkver.h>

#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501

#include <SDKDDKVer.h>

我也尝试过使用/MD进行编译并安装.NET Framework,但这也无济于事。

我一无所知,我真的可以使用一些帮助,因为我需要它可以在Windows XP上运行。

c++ c visual-c++ windows-xp visual-studio-2012
3个回答
24
投票

VC ++ 2012 RTM确实支持Windows XP –该支持于2012年晚些时候在Visual Studio 2012 Update 1中出现。CTP of Windows XP targeting with VC++ 2012可以安装,但是您必须静态链接CRT才能进行部署。有关更多信息,请参见this blog article

Visual Studio 2012 Update 1添加了对在Windows XP上运行使用VC ++ 2012构建的应用程序的官方支持,并具有动态链接CRT的功能。


7
投票
应该做的两件事:

0
投票
也许解决方案太迟了,或者可能不是预期的解决方案,但是当生成.exe时,它的32位版本将在Project文件夹bin \ x86 \ Release中
© www.soinside.com 2019 - 2024. All rights reserved.