微软为了推销自家平台,VS2012和VS2013编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。
项目菜单->项目属性->配置属性->常规->平台工具集,选择“VS2013WindowsXP(v120_xp)”;
项目菜单->项目属性->配置属性->常规->MFC的使用,选择在静态库中使用MFC;
项目菜单->项目属性->链接器->系统->子系统->控制台或窗口windows(根据你的项目类型选择),第二项版本号设成5.01。
C/C++->代码生成->运行库,选择“多线程调试(/MTd)";
以上就OK了。缺点仍然有,例如静态编译的EXE比正常动态要大不少,目前我尚未试出动态编译后在XP中能运行的方法,--不过这个不要紧,因为VS2013版本如此之高,客户的电脑上很难配有它的运行库,你即使动态编译也还是要带上运行库的,只不过在多个程序时只需带一份运行库罢了。
另外,我在实际大项目中用上述方法,仍有出错现象出现。以后再研究吧。一般情况下上述方法就可以了。
原文地址:http://blog.csdn.net/asanscape/article/details/38752655