序
微軟家的宇宙第一ide:visual studio已經更新到了2019版,芒果也更新嘗鮮了一遍,體驗還不錯,建議更新嘗嘗鮮。芒果順便使用vs2019編譯了一遍opencv,編譯過程也非常順利,以下使用vs2019編譯opencv的步驟。
編譯過程
1.安裝所需工具
本次編譯的環境與工具為:
- windows10 64位 英文版(理論上win7以上的系統都可以)
- git(非必須,下載源代碼使用)
- cmake (建議版本在3.15以上,芒果嘗試過3.12無法構建vs2019的解決方案)
- vs2019最新版(2019.06.10)
軟件安裝過程芒果就不再贅述了,可以自行谷歌或者百度安裝。建議在安裝git和cmake的時候將軟件的環境變量添加到系統設置內(安裝向導一般會有一個add ... to Path ...之類的選項,注意查看將選項勾上就ok)。
2.下載源碼
源碼可以到github的opencv項目上可以直接下載,在github下載好代碼壓縮包解壓就行。這里給出項目地址opencv項目地址。芒果這里直接使用git命令直接clone下來,如果你安裝了git,也可以和芒果一樣操作下載源碼。
首先新建一個OpenCVSourceCode文件夾,使用powershell(git需要添加環境變量)或者git bash打開。
輸入命令
git clone https://github.com/opencv/opencv.git
然后等待下載完成,過程如下所示
PS D:\OpenCVSourceCode> git clone https://github.com/opencv/opencv.git
Cloning into 'opencv'...
remote: Enumerating objects: 69, done.
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 255212 (delta 13), reused 23 (delta 10), pack-reused 255143
Receiving objects: 100% (255212/255212), 458.96 MiB | 6.98 MiB/s, done.
Resolving deltas: 100% (178154/178154), done.
Checking out files: 100% (5851/5851), done.
PS D:\OpenCVSourceCode>
通過這種直接拉取opencv源碼倉庫的方式下載的是最新的opencv源碼,也就是說此刻編譯好的opencv將會是比官方發布最新版本還要新的專屬最新版opencv。
3. cmake構建vs解決方案
cmake打開源碼&設置構建方案路徑

如圖,首先使用cmake打開下載的opencv源碼,接着新建一個存放構建文件的文件夾,使用cmake打開。
配置configure

點擊configure,如圖選擇2019的構建方案。
再次configure

點擊配置configure一遍后,會出現紅色的提示。是不是報錯了呢,非也。不用慌,注意看會發現軟件其實有提示的,只不過是英文的而已,按照提示再次點擊一遍configure就好了。

再次配置后,紅色提示就沒了,此時如果注意看提示,正常的話就像途中的configuring done的提示。
生成解決方案

點擊generate,正常生成后會有圖中的提示。
configuring done
genereating done
4. vs編譯解決方案
打開解決方案
在上一步生成解決方案完成后,點擊軟件的Open Project就可以打開解決方案。注意電腦中如果有多個版本的vs,打開的時候注意選擇vs2019打開。也可以到第一步設置構建文件路徑哪里找到方案所在位置,一個名為OpenCV.sln的文件。
生成All_BUILD

打開解決方案后,找到All_BUILD項目,鼠標右鍵生成。等待一會后,即可編譯完成。

如圖,正常編譯完81個項目。
生成INSTALL
右鍵生成INSTALL項目,完成后提示

到此已經完成了編譯過程。編譯完成的文件,可以在install文件夾里找到。如圖

打開install文件可以看到編譯好的opencv.

打開bin文件夾可以看到,動態鏈接庫文件。

lib文件夾為靜態鏈接庫文件。
可以注意到的是,這些鏈接庫文件在opencv的版本號之后都帶着一個字母d,這是debug的意思。因為咱們之編譯了debug的版本,假如需要編譯release版本,重新打開OpenCV.sln,修改項目為release再編譯即可。

尾巴
按照步驟編譯,整個過程應該非常順利的,其實使用cmake編譯第三方庫都是一個通用的流程,總結下來就是歸為:
- 1使用cmake打開源碼,設置構建的vs解決方案.sln的文件路徑
- 2配置configure構建的參數,一般按默認,直接點擊configure就好,注意看提示,尤其是配置一遍還標紅色的時候,往往會提示你再configure一遍。
- 3生成generate解決方案,同樣直接點擊就好
- 4打開解決解決方案,使用vs生成所有項目,再生成install項目。
本文由芒果浩明發布,轉載需注明來源。
本文鏈接:https://mangoroom.cn/opencv/vs2019-compile-opencv.html
