之前通过VS2015编译的程序在一些电脑上能跑,一些不能跑。试了好多台,能跑的应该是装了vs2015运行库的(不是程序),不能跑的都是缺失dll文件。网上有教程说把配置属性->C/C++->代码生成中的运行库设置为MT,即静态库。然而这样可能连编译都通不过了,报这样的错:
讯享网
必须选择动态库。
只能把需要用到的dll都扔到一个文件夹里了。用dependcy.exe可以分析dll的依赖关系,经分析发现最主要的就是缺失MSVCP140.dll,但其依赖的的dll才是最让人头疼的。
可以看到他的依赖关系挺多的:


其实没看起来这么多,kernel32.dll肯定是个windows电脑就有的,就不管他了,他的依赖项也不用管了。
dependcy只分析出依赖关系,不能给出我依赖的文件地址…也许是因为其中一些文件隐藏了,开始我照着文件名去网上一个一个当下来,然而拿到另一台机子上跑失败了…应该是网上的dll不太靠谱或者不匹配吧…

最终,就是用everything从自己的电脑上一个一个找出来存在VS文件夹和.NET文件夹中的相同名字的dll,嗯,就这样成功了。
打包好的MSVCP140.dll及其依赖dll压缩文件地址:https://files.cnblogs.com/files/jwmeng/msvcp140.dll.zip
过程有点繁杂…能总比不能强点…
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199483.html