1. 程式人生 > >VS2015+opencv3+opencv_contrib+dlib配置過程和問題記錄

VS2015+opencv3+opencv_contrib+dlib配置過程和問題記錄

opencv3+opencv_contrib配置

編譯過程如上文所示,VS的配置過程如下(這裡包括opencv的配置和opencv_contrib的配置): (我的opencv_contrib目錄跟上文不一樣) 1、配置包含目錄 在屬性頁,選擇左側配置屬性–>VC++目錄,編輯包含目錄,新增如下路徑: 在這裡插入圖片描述 2、編輯庫目錄,這裡可自行選擇編譯平臺,我選的release、x64,配置如下: 在這裡插入圖片描述 3、配置連結器輸入依賴項 在這裡插入圖片描述 這一步,我的C:\OpenCV3.2.0\opencv_contrib\win-install\x64\vc14\lib目錄下原本沒有上面的opencv_tracking320.lib檔案,如果不新增的話,專案編譯會報錯: LNK2019:無法解析的外部符號 "public: bool cdecl cv::Tracker::init(class cv::Mat const &,class cv::Rect

const &)" ([email protected]@[email protected]@[email protected]@AEBV?$Rect@[email protected]@@Z),該符號在函式 main 中被引用 於是強行從C:\OpenCV3.2.0\opencv_contrib\lib\Release目錄下將該lib檔案copy到C:\OpenCV3.2.0\opencv_contrib\win-install\x64\vc14\lib目錄,然後在上圖中的連結器中新增該lib,錯誤解決。主要參考了部落格win10 下的opencv3.2.0實現tracker常見問題
(上面第三個dlib檔案是下面要講的dlib的配置)

dlib配置

主要參考Dlib機器學習筆記1 – Windows下的編譯安裝除錯(超詳細,菜鳥也成功) 配置完之後還遇到以下幾個問題: 1、USER_ERROR__inconsistent_build_configuration__see_dlib_faq_2 專案右鍵->新增現有項->新增dlib-all目錄下的source.cpp檔案 還有相關問題參考部落格:VS2015+DLIB19.10配置, dlib_faq_2和dlib_faq_1問題解決 2、新增上述檔案後,可能會出錯:找不到png.h 解決方法是定位錯誤發生的位置,將#include<png.h>改為靜態路徑#include"D:/ycc/dlib-19.15/dlib/external/libpng/png.h" 3、可能出錯:找不到jpeglib.h 配置屬性》c/c++》前處理器中的前處理器定義 新增DLIB_JPEG_STATIC 4、還可能出現一大串無法解析外部符號的錯誤 不知道這個錯誤的原因是什麼,之前是在控制檯用cmake編譯的dlib,發生如上錯誤,後來用cmake-gui+vs2015(也就是部落格

Dlib機器學習筆記1 – Windows下的編譯安裝除錯(超詳細,菜鳥也成功)) 中的方法編譯之後,問題解決了。

網上還有一些解決問題的偏方,試過才知不可信。現在多跳坑以後才能預見坑。