如何生成不依赖VC库(包含MFC库)的静态exe(包含dll,lib),就是生成随时随地运行仅有一个exe的方法,纯净EXE

你是不是有个这样一种经历:明明我的计算机能跑的软件,放到别人的计算机就不能运行了(这时可能你需要复制若干依赖的DLL,用Depends.exe可以看依赖项哦)。以下的文章专门介绍如何彻底避免:

1、从静态库lib说起,前提条件是此lib没有依赖其他非静态lib,要生成静态链接的静态库(绕不绕?),几个地方配置下,因为VS环境默认都是动态链接的。直接上图

常规页: 

C++\代码生成页:

OK,编译下即可生成纯天然无残留的静态链接的静态lib库!

2、说下如何生成静态链接的动态DLL库和exe应用程序:

原理同上,参考文章后面部分的,提取下精华:

在 C 语言的标准程式库中:

静态连结

  • LIBCMTD.lib(除错版本)
  • LIBCMT.lib(这个就是我们需要的)

动态连结

  • MSVCRTD.lib(除错版本)
  • MSVCRT.lib

 

在 C++ 语言程式库中:

静态连结

  • LIBCPMTD.lib(除错版本)
  • LIBCPMT.lib(这个就是我们需要的)

动态连结

  • MSVCPRTD.lib(除错版本):执行档相依于 MSVCP90D.dll
  • MSVCPRT.lib:执行档相依于 MSVCP90.dll

到了这里,也许小朋友,你是不是有很多的❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓

为什么我的项目中,没有附加这些依赖项呢?那是因为VS已经帮你做了,就像刚结婚就当爸爸一样的原理。

回到正题:如果我要生成不依赖任何DLL的exe,那么我们要做的是,保证依赖的LIB也必须是静态链接的。然后按照前面2张图说的设置就OK了,快来试试吧,简单清爽纯天然的感觉是不是很爽!

 

我的QQ35744025,如果你垂涎我的美色和才华,请随时骚扰我吧,暗号:美女

支持商务合作哦!

参考文章:https://www.cnblogs.com/minggoddess/archive/2010/12/29/1921077.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周星星的星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值