虽然目前很多用户的电脑系统都是win7到win10,但还有部分用户的电脑系统是xp,比如一个项目要兼顾到xp用户,而通常编写的vs2015程序在xp里并不能运行,先做一个如下测试,使用vs2015创建一个C++控制台程序,代码很简单,如下所示:
生成这个程序,将得到的test1.exe复制到xp系统里,然后运行,效果如下:
在xp系统里会弹出提示不是有效的win32位程序,那么该如何解决这个问题了?
打开工程属性,在常规里将平台工具集改成Visual Studio 2015 - Windows XP (v140_xp)。
在链接器-系统-所需的最低系统版本里输入5.01,对于32位xp系统是5.01,对于64位xp系统是5.02
接下来就是最重要的一步了,在链接器-命令行中添加一行命令:
/SUBSYSTEM:CONSOLE,“5.01”
点击确定后,然后重新生成程序,将程序再次复制到xp系统里运行,运行效果如下,这次没有提示不是win32有效程序,而只是提示缺少dll。
这个是vc14的运行依赖dll,找到vs2015的安装目录:
D:\install\vs2015\VC\redist\x86\Microsoft.VC140.CRT
将上述四个dll复制到xp系统里。
接下来还需要复制C运行时库ucrt,在电脑的如下目录里:
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86
将这个目录下的dll也复制到xp系统里。
然后我们就可以成功运行这个test1.exe程序了。
经过以上步骤,便可以将win10系统下vs2015编写的C++程序在xp系统里运行了。
还有一点不用像上面这么麻烦,只需要将C++代码生成-运行库改为MT就不用带上vc14的库以及C运行库了。
更多推荐
win10系统下vs2015编写的C++程序在XP系统里运行
发布评论