cmake教程(为什么要用cmake?)(cmake编译opencv)(就是个跨平台的编译工具Linux、windows)(很重要,必须得学)(报错解决方案)opencv编译
文章目錄
- cmake編譯opencv源碼
- 分割線
CMake:簡介及工程應用,及為什么要用CMake,使用CMake自動構建工程
mark一下,回頭更
cmake編譯opencv源碼
cmake官網:https://cmake.org/
下Previous Release,穩定點
我下了兩個,一個Windows Source (has \r\n line feeds),還有一個Windows x64 ZIP,兩個有啥區別?我也不懂,???,
用不是源碼那個,解壓可用
然后根據CMake編譯OpenCV走一遍就ok了,但是走不通!
這個也講了如何用cmake編譯
玩轉OpenCV3——contrib庫
可參考但不建議
這個編譯opencv4.4.0,跟我版本一樣,跟這個跑一遍
opencv4.4.0(含contrib)編譯+cmake+vs2017
opencv-contrib4.4.0
但是我還是編譯不過?看這個試試:vs2019編譯opencv
分割線
編譯過程中遇到報錯,就去找那個CMakeDownloadLog.txt看里面報錯的準確信息,該下載的文件去下載,然后放到.cache文件夾中,當然還有些文本文件自己下載替換都不行。。。只能自己看著辦了
需要注意的一點是,在下載文件的過程中,有的文件文件名頭部會有校驗碼,該校驗碼是以文件內容生成的,如果文件內容與標準不一致,生成的校驗碼就不對,所以不要以復制文件內容的方式下載文件,而要直接去下載文件本身,例如對于以.i結尾的文件,你可以查看CMakeDownloadLog.txt找到文件下載鏈接,在瀏覽器打開,然后右鍵網頁另存為,保存為文件,替換.cache中不能下載的文件
如果你開了梯子,那么麻煩能減少很多,起碼很多文件它都能幫你下好
這里注意需要勾選的地方有兩項,nonfree、world,以及 path要指定下載的contrib中的modules路徑(直接搜關鍵詞)
一直點configure,最后只有一個警告沒法解決(這個不用管它),還有遇到的一些問題比如需要安裝python2.7,那就安裝一下,選默認安裝方式就行;
完后就直接點generate
然后會生成.vcxproj的項目工程文件,用VS打開它編譯
點生成,批生成
然后就能生成需要的庫了
因為我的python3.7裝到D盤,用visual studio編譯時會提示找不到python37_d.lib,這是一方面因為python安裝時沒選這兩項造成的 ,重新打開python安裝程序modify下即可,另一方面是python不是默認安裝路徑,VS找不到python37_d.lib,這個找到報錯的項目,然后右鍵屬性,直接在鏈接器-輸入-附加依賴項那指定一下路徑即可,然后再編譯就不會提示找不到了
我發現,在bin文件夾、install、lib文件夾里生成了一些同樣的opencv-world動態靜庫,像bin里面是一些.exe文件,這些動靜態庫都是生成后拷過去的,install和lib則是我們做項目引用的時候需要拷過去的
另外,如果這些想要分享給python用,可參考:https://cv-tricks.com/how-to/installation-of-opencv-4-1-0-in-windows-10-from-source/
以及:如何從OpenCV源碼編譯生成OpenCV-Python的SDK開發包
以后還能在python里把它打包成.wheel給調包俠用
總結
以上是生活随笔為你收集整理的cmake教程(为什么要用cmake?)(cmake编译opencv)(就是个跨平台的编译工具Linux、windows)(很重要,必须得学)(报错解决方案)opencv编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YOLOv5 报错:“NotImplem
- 下一篇: opencv在pycharm上没有函数提