計算機中缺失MSVCP120D.dll和MSVCR120D.dll怎麼解決?

電腦系統是win10,VS2015 profession,在配置opencv3.1.0後運行範例時報錯:計算機中缺失MSVCP120D.dll和MSVCR120D.dll。困擾好幾天了,求大神解答。


軟體發行不要用debug模式

release一下再發布


在計算機上安裝Visual Studio 2013。

微軟的Visual Studio最終用戶許可協議是禁止發布調試版(名字後面有D)的DLL的。你用了一個違規的調試版組件。建議向組件作者要求正式發行版。正式發布的軟體里不應該用調試版的DLL。


根據stackoverflow的一篇回答(MSVCP120d.dll missing):

MSVCP80.DLL is from Visual Studio 2005
MSVCP90.DLL is from Visual Studio 2008
MSVCP100.DLL is from Visual Studio 2010
MSVCP110.DLL is from Visual Studio 2012
MSVCP120.DLL is from Visual Studio 2013
MSVCP140.DLL is from Visual Studio 2015

MSVCP120.DLL 是來自Visual Studio 2013的。後面加D的(MSVCP120D.dll)正如 蔣晟 所寫是調試版。

題主使用的是VS2015配置opencv3.1.0 ,所以我估計安裝VS2013就解決這個問題了。

PS:安裝VS2013的組件包(Visual C++ Redistributable Packages for Visual Studio 2013)只能解決「缺少MSVCP120.DLL」問題,其不會安裝後面帶D的dll。

2017年6月15日更新:上面組件包的連接失效了,官網似乎刪掉了VS C++ 2013組件包...


上這個網站搜索一個下載吧

Download missing DLL files for free


我用的10系統和玩輻射出現過問題,只好用最笨的辦法,下載缺少的dll 0.0

你的系統是64位的就將文件複製到C:WindowsSysWOW64目錄下

不是的話就在C:WindowsSystem32目錄下

我也用過這種 但情況和你的不太一樣 我是安裝wamp出現的丟失MSVCP120.dll


用驅動精靈遊戲必備組建修復,就是有插件金山毒霸網址導航(忍不住吐槽這種行為很噁心)


這種問題為什麼要來知乎上問啊...

你去搜CSDN一大把答案...

搜百度也行啊..


你的這個問題解決了嗎,


複製VS2013中的installVC
edistDebug_NonRedistx86Microsoft.VC120.DebugCRT

安裝文件夾中的dll到,目標機器的C:WindowsSystem32中就好了。


我覺得你的環境變數出問題了。你的cv運行環境與你當前使用的Visual Studio的版本不符。

換到vs2017我也遇到該提示,結果發現是以前用vs2013的時候,環境配置添加的bin目錄是vc12下的,忘記刪除了,這個排在前面,後面添加vc15版本的bin不起作用。刪除後,ok。


win7的64位也遇到這種情況,求幫助。


推薦閱讀:

多幀圖片的數據存儲的問題?
從項目管理上來說,C++ 是否適合做大的項目?
學編程主要是學習什麼(學習重點是什麼?)
國外很多遊戲服務端遊戲邏輯部分用c++開發,上線後沒辦法熱更,他們是怎麼考慮的?
本人有一定的C++基礎,想哪一些項目練手熟練C++,怎麼開始呢?有什麼建議?

TAG:編程 | 計算機 | C | MicrosoftVisualStudio |