1、问题描述:
Win7上使用VS2012编译的C++程序,在XP上无法运行,提示缺少msvcr110.dll等库。
2、解决办法:
安装VS2012 Update1包,更改项目属性:
(1)配置属性--常规--平台工具集:Visual Studio 2012 - Windows XP (v110_xp)。
(2)链接器--系统--子系统:控制台或窗口,所需的最低版本5.01
(3)C/C++--代码生成--运行库:多线程静态链接库(Release(LIBCMT.lib)):/MT,Debug(LIBCMTD.lib):/MTD)
【注】也可在stdafx.h文件中添加如下代码:
// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将
// WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
#include <WinSDKVer.h>
#ifndef _WIN32_WINNT
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#endif
#include <SDKDDKVer.h>
3、如若进行上述设置后,没有效果,则检查程序引用的外部库属性,是否也进行了相应设置。