C++配置坑-----openCv環境配置


一個配置成功的openCv環境應該是這樣的

 

 然后先介紹下這個屬性頁的配置。

 

1.可執行文件目錄,他的說明是,生成vc++項目期間,搜索可執行文件時使用的路徑,與環境變量path相對應,大概在path文件夾下搜索可執行文件吧,這個沒驗證

2.包含目錄,他的說明是,生成vc++項目期間,搜索包含文件時使用的路徑,與環境變量INCLUDE相對應,

對應一個Include文件夾, 這個文件夾里放的都是頭文件

如果沒有添加包含這個頭文件就會這樣,引用不到相關類庫

3.引用目錄,它說的是生成Vc++項目期間,搜索元數據文件時使用的路徑,與環境變量LIBPATH相對應,這個不知道

4.庫目錄,它說的是生成Vc++項目期間,搜索庫文件時使用的路徑,與環境變量Lib相對應

對應一個lib文件夾,里面是lib文件,長這樣

每個lib文件又對應一個dll文件,長這樣

 

 5.坑來了,5和4相關,需要把項目lib添加到鏈接器

<1>我原以為上面的lib文件夾配置,加上這里的lib文件名就能引用到動態鏈接庫文件了,

然后就報了這個錯------------------------------------------...計算機中丟失opencv_core249.dll。請嘗試重新安裝改程

找不到lib對應的dll文件。

<2>解決1問題的一個方案是 把相關dll復制到項目文件夾下  像這樣

 

<3>分析這個問題的原因,大概是環境變量沒配置或者沒配置好,官網上有這段話

如果你構建了靜態庫,那么你就完成了。否則,您需要將bin文件夾路徑添加到系統路徑。這是因為您將以*“動態鏈接庫”*(也稱為DLL)的形式使用OpenCV庫其中包含OpenCV庫包含的所有算法和信息。操作系統將僅在運行時按需加載它們。但是,為此,操作系統需要知道它們的位置。系統PATH包含可以找到DLL的文件夾列表。將OpenCV庫路徑添加到此處,操作系統將知道在需要OpenCV二進制文件時的位置。否則,您將需要在應用程序可執行文件旁邊復制使用過的DLL(exe)讓操作系統找到它,如果你在許多項目上工作,這是非常不愉快的。為此,請再次啟動PathEditor並添加以下新條目(在應用程序中單擊鼠標右鍵以顯示菜單):

這段話,估計是要把bin文件夾添加到環境變量里去,那么問題來了4中的lib庫目錄文件夾的設置有啥用,因為具體的lib文件名在5中指定了

 

還有一段話可以參考

 

注意:應用程序如何找到DLL文件?
使用LoadLibrary顯式鏈接,那么在函數的參數中可以指定DLL文件的完整路徑;如果不指定路徑,或者進行隱式鏈接,Windows將遵循下面的搜索順序來定位DLL:
(1)包含EXE文件的目錄
(2)工程目錄
(3)Windows系統目錄
(4)Windows目錄
(5)列在Path環境變量中的一系列目錄

 

 

 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

環境配置有兩種,本文是使用的cmake編譯后設置相關事項,參考鏈接

https://blog.csdn.net/poem_qianmo/article/details/21974023

https://blog.csdn.net/yyk219/article/details/82344985

另一種配置參考

https://blog.csdn.net/poem_qianmo/article/details/19809337

https://docs.opencv.org/master/dd/d6e/tutorial_windows_visual_studio_opencv.html


免責聲明!

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



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