天天看點

QT編譯OpenCV源碼,支援轉到定義

一般在VS和QT中配置OpenCV隻是将頭檔案路徑和庫檔案路徑添加到工程中,這種做法是不支援跳轉定義的。要想檢視OpenCV源碼,在VS中的一般方法是用Cmake将OpenCV源碼生成一個VS工程,但是這種方法也不支援從使用者自己寫的代碼中直接跳轉到OpenCV相關函數的定義。現介紹一種在QT中導入OpenCV源碼的方法,支援全局查找和跳轉(畫重點)。

詳細配置步驟如下(Qt5.12.0+OpenCV4.0.1+Cmake3.14.2為例):

1、安裝配置好QT+OpenCV。可以參照我上一條部落格進行安裝配置https://blog.csdn.net/qq_33474442/article/details/87074218

2、下載下傳安裝Cmake

3、下載下傳opencv Source code并解壓     連結:https://github.com/opencv/opencv/releases

4、打開Qt Creator。選擇工具—>選項—>Kits—>Cmake,添加第2步中安裝的cmake.exe

5、選擇檔案—>打開檔案或項目,打開opencv源碼路徑下的CMakeLists.txt

QT編譯OpenCV源碼,支援轉到定義

6、如果報"The C++ compiler is not able to compile a simple test program"這樣的錯誤,是因為沒有把Qt Creator添加到系統環境變量中,将D:\software\Qt\Tools\QtCreator\bin添加到系統環境變量中即可。

7、再次打開CMakeLists.txt,Qt Creator成功解析CMakeLists.txt,出現如下圖所示結果即大功告成,此時已經支援全局查找及跳轉。

QT編譯OpenCV源碼,支援轉到定義

8、建立一個工程,比如打開筆記本攝像頭。将光标定位到某一個函數,如imshow(),按F2就可以跳轉到函數定義處檢視具體實作源碼。

QT編譯OpenCV源碼,支援轉到定義
QT編譯OpenCV源碼,支援轉到定義