dev11 complier 已经不再支持XP,如果想要支持XP系统,需要更新至 VS2012 Update1,同时,在
属性---配置属性 --- 常规---平台工具集
Properties -> Configuration Properties -> General -> PlatForm ToolSet
选择
Visual Studio 2012 - windows XP (v110_xp)
这样compiler生成的exe文件方可在XP系统上运行。
写代码的过程中,我发现使用VS2012编译出来的程序默认支持的系统版本略高
例如刚发现的:Win7+VS2012
编译出来的程序默认PE信息(Optional Header):
Major SubSystem Version = 6
Minor SubSystem Version = 0
导致的结果就是:在WinXP中运行便会提示“不是有效的Win32应用程序”
当时还以为是自己搞错编译选项,将程序编译成x64的了。
结果后来使用PE工具才发现的这个问题。
修正办法:
右击项目-属性-配置属性-链接器-系统-所需最低版本 填入”5.01″