美文网首页
VC2013编译的程序在XP上独立运行

VC2013编译的程序在XP上独立运行

作者: 晓函 | 来源:发表于2017-02-07 16:15 被阅读141次

教材:https://www.zhihu.com/question/25415940

简单的来说就是,想要你的exe独立运行在XP中:
1.将平台工具集选择为"Visual Studio 2013 - Windows XP (v120_xp)"。
用处:运行模式兼容XP
可解决错误:


Paste_Image.png

设置截图:


Paste_Image.png

2.将运行库选择为 【多线程 /MT 】。
用处:将所有的依赖dll静态化打包到程序里面,这样XP没有的DLL也不会报错了
可解决错误:


Paste_Image.png

设置截图:

Paste_Image.png

3.如果使用了MFC,同理的要设置【在静态库中使用MFC】:

这里要记住,自己所引用的第三方DLL,也一定要按照以上3条规则进行配置编译,不然你自己的EXE正常配置了,但是引用的DLL没有配置成兼容XP模式,也会报一样的错。

推荐一个神奇Stud_PE查看器,我就是EXE按照上面的配置编译了,但是总是在XP运行提示缺少msvcr120.dll。
后来用Stud_PE查看,发现了duilib_u.dll居然需要额外引用msvcr120.dll,打开duilib项目一看,真忘记加上这个【多线程/MT】了。

【MD】模式时候的duilib_u.dll:


Paste_Image.png

修改成【多线程/MT】编译后的duilib_u.dll:

Paste_Image.png

相关文章

网友评论

      本文标题:VC2013编译的程序在XP上独立运行

      本文链接:https://www.haomeiwen.com/subject/okhmittx.html