vs2019 c++开发软件独运行[运行库文件抽取]

背景

用vs2019 c++开发软件,发行版本需要运行库,因为别的电脑不一定安装运行库,所以要特别处理

方案

  1. 编译的exe,c++运行库设置MT(静态模式),代码集成在你的exe中
    1. 导致exe变大
    2. 其他第三方库可能冲突【可能第三方库需要改变编译模式】,常见冲突在这里
    3. 存在多份运行库代码,增大安装包体积
    4. 简单
  2. 需要动态库DLL 放在exe执行目录
    1. 需要复制多个DLL,所以要知道依赖哪些库
  3. 安装运行库
    1. 增加安装包体积
    2. 安装运行库万一冲突,还可能失败【对于阉割系统,太多麻烦的事情】
    3. 增加安装时间

      选择

      主流方案都选择第二种

      常见需要复制文件,打开vs2019,然后跳出任务管理器,找到对应进程,然后打开所在的目录


目录跳到IDE这一层

进行搜索
vcruntime140.dll
msvcp140.dll
ucrtbase.dll
api-ms-win-crt-conio-l1-1-0.dll 打开这个位置所有api-全部复制出来,懒得一个一个找。

基本大部分项目足够,如果软件还报错,他会提示,你自己慢慢复制就可以了,其他的版本vs也是这么慢慢查找。

备注

一定要放在exe同级目录,因为window搜索动态目录是这样子(非系统DLL优先级是当前目录最大)。
vs2019 多了好多api,貌似2015以后微软优化运行库,我看了一下文档,没有看出什么特别的地方,现在只记得它进行优化。。。