VS2015編譯后在其他平台缺失MSVCP140.DLL問題的修復


之前通過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壓縮文件地址:http://files.cnblogs.com/files/jwmeng/msvcp140.dll.zip

過程有點繁雜...能總比不能強點...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM