本文參考以下文章:
https://blog.csdn.net/weixin_43763292/article/details/112975207
https://blog.csdn.net/qq_44743171/article/details/124335100
使用軟件
QT 5.14.2
下載地址:download.qt.io
選擇版本:Qt 5.14.2
Qt 5.14.2百度網盤鏈接:https://pan.baidu.com/s/1ycfiU34xCnBvbnSBoCrtIw
提取碼:zj4c
CMake 3.24.2
各版本下載官網地址:https://cmake.org/files/
選擇版本:cmake-3.15.7-win64-x64.msi(CMake 版本選擇無所謂)
cmake 3.15.7 百度網盤鏈接:https://pan.baidu.com/s/1WFWYT1IGdpCp4wlMziLZDA
提取碼:x5jn
openCV 4.5.3
下載地址:https://opencv.org/releases/
選擇版本:opencv 4.5.3
opencv 4.5.3 百度網盤鏈接:https://pan.baidu.com/s/1vzkp3BfFZGmO0kDx3ThYVw
提取碼:m2xo
opencv_contrib 4.5.3
下載地址:https://github.com/opencv/opencv_contrib/tags
選擇版本:opencv_contrib 4.5.3(需要與 OpenCV 版本相同,否則編譯時可能會報錯)
opencv_contrib 4.5.3 百度網盤鏈接:https://pan.baidu.com/s/1o4t-qugwC-_XMvV3Yx9Mkg
提取碼:vuwc
準備工作
- 添加MinGW環境變量:將“QT安裝目錄\Tools\mingw730_32\bin”路徑加入環境變量
- 添加CMake環境變量:將“CMake安裝目錄\bin”路徑加入環境變量
- 安裝opencv:雙擊下載的opencv-4.5.3-vc14_vc15.exe文件進行安裝
- 解壓contrib模塊:將下載的opencv_contrib-4.5.3.zip解壓到opencv安裝目錄下
- 創建build目錄:在opencv安裝目錄下創建一個build_xxx目錄(命名隨意)
編譯
1.首先雙擊運行CMake安裝目錄\bin\下的cmake-gui.exe,并進行如下的配置:
- 在配置過程中,會出現CMake Warning,原因是有兩個dll沒有下載成功,需要手動進行下載,下載的路徑可以去編譯目錄下生成的CMakeDownloadLog.txt里查看,找到所有"https://“開頭,”.dll"結尾的網址,進行手動下載,再找到"missing"關鍵字,將下載的文件放入missing后面路徑對應的源碼路徑下
- 進行一些選項勾選
4. 再次點擊“Configuration"進行配置,出現以下報錯:
原因是OPENCV_EXTRA_MODULES_PATH的路徑斜杠不對,這個路徑我是直接復制粘貼過來的,windows路徑默認是反斜杠"“,而CMake要使用正斜杠”/“,這里可以直接點擊”…“按鈕瀏覽選擇路徑,就不用一個個改了
5. 再次點擊"Configuration"進行配置,直到沒有紅色選項,點擊"Generate”
6. 在編譯目錄下打開cmd,輸入:
mingw32-make -j 8
“-j 8” 表示使用 8 線程來處理,可以根據電腦硬件條件進行調整。使用單線程編譯命令為:
mingw32-make
-
等待。。。
-
出現問題:
-
add Entry —>>> BOOL —>>> OPENCV_VS_VERSIONINFO_SKIP 打鉤
-
重新Configuration,Generate時出現問題:
-
根據以上流程使用32位的mingw可以編譯成功