(一)MinGW-w64編譯OpenCV-3.4.5

OpenCV-3.4.5的編譯(MinGW-w64)

廢話不多說(shuō),直接上地址:

說(shuō)明:

1、MinGW-w64編譯器進(jìn)入下載頁(yè)面后下拉選擇x86_64-posix-seh(64位系統(tǒng)適用,32位請(qǐng)選擇i686-posix-sjlj),版本建議選擇MinGW-W64 GCC-8.1.0,不要太往前,C++的一些新特性在舊的編譯器里可能不適用,導(dǎo)致編譯的時(shí)候會(huì)報(bào)錯(cuò)。還有就是一定要選擇POSIX版本,下載win32版本編譯的時(shí)候會(huì)讓你懷疑人生。至于CMake,也是下載對(duì)應(yīng)系統(tǒng)位數(shù)的包。下載壓縮包(.zip)可以直接使用。
2、博主目前在Windows上面只編譯成功過(guò)Opencv-4.0.1和OpenCV-3.4.5,其他版本的OpenCV沒(méi)嘗試過(guò),在Github上面有一個(gè)CSDN博主會(huì)不定期的上傳已經(jīng)編譯好的包供直接使用。他的blog里面還包含一些編譯時(shí)候常見(jiàn)錯(cuò)誤及處理辦法,可供參考。
Portal:https://github.com/huihut/OpenCV-MinGW-Build

都下載完成后,就可開(kāi)始編(zhe)譯(teng)了。

首先,請(qǐng)新建一個(gè)build空目錄。

目錄結(jié)構(gòu)

打開(kāi)CMake目錄,進(jìn)入bin中打開(kāi)cmake-gui.exe。


CMake1

第一項(xiàng)填源碼目錄,第二項(xiàng)填編譯目錄。然后點(diǎn)Configure。


CMake2

下拉菜單選擇MinGW Makefiles。這一步需要提前配置MinGW-w64的環(huán)境變量,把編譯器目錄中bin子目錄加入系統(tǒng)環(huán)境變量。(可以在cmd/powershell中輸入gcc -v,有輸出則配置環(huán)境變量成功。)

cmd輸出

讀條過(guò)程可能會(huì)有點(diǎn)長(zhǎng),因?yàn)樾枰?lián)網(wǎng)下載一些東西。


CMake3
  • 配置完成后會(huì)出現(xiàn)一大堆紅色的東西,這時(shí)在Search中輸入extra會(huì)出現(xiàn)OPENCV_EXTRA_MODULES_PATH
    在Value中選擇opencv_contrib-3.4.5目錄下的modules子目錄。

  • 清空Search,輸入nonfree,勾選OPENCV_ENABLE_NONFREE。

  • 清空Search,輸入world,勾選BUILD_OPENCV_WORLD。

  • 直到?jīng)]有紅色內(nèi)容出現(xiàn),點(diǎn)擊Genearate,會(huì)在build目錄中生成Makefile。

  • 如果想要弄清楚每個(gè)NAME下面的參數(shù)是什么意思,可以去問(wèn)百度或谷歌或CSDN或Stack Overflow。一般情況下只需要開(kāi)啟上面參數(shù),當(dāng)然如果想編譯python和java版的小伙伴們一定要記著打開(kāi)BUILD_opencv_pythonBUILD_JAVA,并確定python和java jdk已經(jīng)在系統(tǒng)環(huán)境變量目錄中。此外OpenCV支持和某些庫(kù)混合編譯,比如CUDA,TBB等,如果有需要編譯這些內(nèi)容務(wù)必勾選與之相關(guān)的項(xiàng)目。

    Makefile

第二步,進(jìn)入cmd/powershell。

  • cdbuild目錄。
  • 輸入mingw32-make,這里有個(gè)加快編譯的辦法,就是啟動(dòng)多線程編譯,在這條指令后面加上-j(數(shù)字),數(shù)字多少代表線程多少。但請(qǐng)注意最好不要超過(guò)最大線程,不然編譯時(shí)會(huì)報(bào)錯(cuò)。

等待編譯完成。編譯耗時(shí)取決于電腦配置和線程數(shù)量多少。


編譯過(guò)程中
  • 這一步是最容易出現(xiàn)問(wèn)題的地方,如果有很多報(bào)錯(cuò)而終止編譯請(qǐng)檢查編譯器問(wèn)題。(PS:不得已的情況下不要去修改源碼,否則可能報(bào)更多的錯(cuò)。)

  • 出現(xiàn)了問(wèn)題也不要著急,這個(gè)時(shí)候最重要的就是來(lái)杯飲品壓壓驚。然后當(dāng)然是請(qǐng)教度娘或者google或者Stack OverFlow或者CSDN啦。


    編譯完成
  • 完成編譯后,輸入mingw32-make install,將OpenCV編譯好的東西安裝至build目錄下install子目錄中。

    安裝過(guò)程

  • install目錄

    install目錄

至此編譯工作完成。

如何鏈接呢,見(jiàn)下一篇文章吧。:)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容