[转]VS2015编译的程序在其他机器上缺少msvcp120.dll
http://www.lai18.com/content/1159618.html
?
1、
今天分享一個自己在開發過程中遇到的困難。
用VS2015開發了一個windows客戶端(win32項目),在自己的機器上運行很流暢。當你得意的把releas版本進行打包,并進行發布后,問題來了?很多人反饋運行時缺少msvcp140.dll,甚至有人在XP系統上完全不能用。
那么首先看看是如何解決的:?
在工程上打開屬性,選擇C/C++,選擇代碼生成,把運行庫改為“多線程(/MT)”。重新編譯即可。?
但是對于兼容XP的問題呢?同樣是在工程的屬性里,選擇常規,平臺工具集中選擇“Visual Studio 2015-Windows XP(v140_xp)”?
你以為這樣就大功告成了嗎,大錯特錯。上面的方法是解決缺少msvcp140.dll的方法,但是我遇到的問題是缺少msvcp120.dll。
到底這是個什么鬼??
其實說白了就是C++的動態鏈接問題。?
msvcp120.dll是vs2010編譯的程序默認的庫文件。msvcp120.dll可以解決某些大型游戲、程序由于vs2010編譯系統中缺失此dll的問題。vs2010編寫的程序運行所需dll。?
如果您的系統提示“找不到msvcp120.dll ”或“msvcp120.dll 缺失” 或者“msvcp120.dll 錯誤”的問題,下載本文件復制到*/Windows/SYSTEM32下,即可解決問題。
那這么說msvcp140.dll就是vs2015對應的庫文件了。
這時候關鍵問題來了?我用的是vs2015,而且已經改為了多線程(/MT),但是為什么會顯示缺少msvcp120.dll呢?
哎,怪自己孤陋寡聞,被這個問題折磨了一天。
這時候常規的做法是用depends來看一下.exe的依賴項。?
看了很多遍都沒發現問題。
最后靈機一定,是不是使用的第三方庫(別人的dll)出了問題呢?這里用到了一個gloox.dll,迅速用depends看下gloox.dll,果然存在對msvcp120.dll的依賴。
怎么辦呢?找gloox的源碼吧,自己重新編譯一下。
但是在編譯gloox的時候,出錯了。。。。。。
未完待續。。。。。。
2、
3、
?
轉載于:https://www.cnblogs.com/cppskill/p/6061574.html
總結
以上是生活随笔為你收集整理的[转]VS2015编译的程序在其他机器上缺少msvcp120.dll的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 癌胚抗原检查要多少钱?是不是就是抽血查?
- 下一篇: 012-python基础-数据运算