美文网首页
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