2017-01-30 114 views
1

我想在未安裝OpenCV的PC上使用OpenCV的程序。試圖啓動程序導致出現以下錯誤:儘管有靜態鏈接,Opencv 3.2.0.dll仍然丟失

「該程序無法啓動,因爲您的計算機上缺少opencv_world320.dll。嘗試重新安裝程序來解決問題。」

現在我知道這通常發生如果正確的庫沒有鏈接或鏈接不是靜態的,但作爲預構建的OpenCV 3.2只使用一個庫,並經過雙重檢查運行時庫設置爲/ MT在VS2015我有不知道爲什麼這個錯誤仍然存​​在。

在PE分析器中查看構建的.exe文件還顯示opencv_world320.dll仍列爲導入。

如何解決這個問題?

+0

對於遇到同樣問題的任何人,下面是我在Miki的指針之後做到的: http://dogfeatherdesign.com/opencv-3-0-microsoft-visual-studio-2015-cmake-and-c/ – Moonbear

回答

1

OpenCV 3.2 prebuild只提供x64 動態庫爲vc14。

.lib你是要鏈接(在子文件夾x64\vc14\lib)是進口庫,包含符號,以允許鏈接鏈接到dll。有關此事的更多詳情,請參見herehere

實際上,如果你想靜態鏈接到OpenCV,你需要重建它。您可以在子文件夾x64\vc14\staticlib中找到靜態庫。

+0

就我所見,「staticlib」文件夾不再提供3.2。非常感謝,我會研究它。 – Moonbear

+1

使用靜態鏈接重新編譯opencv後,它將在那裏 – Miki