2016-01-31 70 views
1

你好我已經在我的電腦上下載並解壓OpenCV-2.4.10.exe。然後在VS 2015中創建一個新的Win32控制檯應用程序項目,設置項目屬性中的所有路徑,在Win8.1中設置環境變量。當我試圖在調試模式下啓動程序時,出現「程序無法啓動,因爲您的計算機中缺少MSVCP120D.dll。嘗試重新安裝程序以修復此問題」。如何修復Visual Studio 2015中的錯誤MSVCP120D.dll?

然後,我下載了Visual Studio 2015的Visual C++可再發行組件,但問題仍然存在。我應該如何在VS 2015中使用OpenCV?

+0

*然後,我下載了Visual Studio 2015 *的Visual C++可再發行包 - 並且在您下載它之後,您如何處理這些文件?此外,'MSVCP120D.DLL'是**不是**發佈DLL。它是一個調試運行時DLL,並且是Visual Studio編譯器工具的一部分。它不是可再發行文件的一部分。任何以'D'結尾的Visual Studio DLL是一個調試DLL – PaulMcKenzie

+1

可能的重複:http://stackoverflow.com/questions/21707992/msvcp120d-dll-missing – PaulMcKenzie

+2

vc120是visual studio 2013 C++編譯器。下載opencv源代碼並使用visual studio 2015(vc140)進行編譯。你可以安裝visual studio 2013 redistributable,但是你不應該使用不兼容的庫進行編譯! – Micka

回答

3

OpenCV的-2.4.10.exe帶有內置的VC10(VS2010),VC11(vs2012)和VC12(vs2013)與運行時的工作運行二進制的DLL。

這些DLL文件分別使用MSVCP100.dll,MSVCP110.dll和MSVCP120.dll,如果您安裝了Visual Studio 2015,則應該在System32(或SysWOW64)目錄中找到它們。當應用程序試圖加載DEBUG版本的DLL二進制文件的出現

的MSVCP120 d .dll錯誤。除非您的系統上安裝了Visual Studio 2013,否則您沒有MSVCP120 D .dll。要解決此問題,請使用發佈運行時而不是調試運行時。

所有你需要做的是從你的項目中排除DEBUG LIB文件。這意味着只包含沒有後綴'd'的lib文件。 (即包括opencv_core2410.lib代替opencv_core2410 d的.lib)

HTH

附加功能: 你並不真的需要加載調試可執行文件,除非你需要調試的OpenCV的源代碼。如果你這樣做,仍然有辦法。下載openCV源代碼,使用CMake創建一個VS2015項目。然後,您可以使用VS2015的最新運行時構建自己的dll二進制文件。

0

VS2015使用vc14,而OpenCV2.4.10不帶有與vc14相關聯的預建二進制文件。 This answer應該可以幫助你理解。因此,您應該爲項目屬性中的鏈接器>常規>附加庫目錄選擇正確的文件夾(vc14)。

您可以使用cmake構建使用VS2015的二進制文件,也可以下載具有預編譯的vc14二進制文件的較新版本的OpenCV。

相關問題