我的開發環境
VS2021
Qt5。14。2
OpenCV4。5。5
配置目的:想用OpenCV開發影片相關軟體,並且Windows下C#已經開發完成,想把其轉化為QT下C++完成,所以想現在Windows下除錯、翻譯後,然後在直接移植到Ubuntu下。所以對Windows下的編譯環境要求不是很大。先完成後再在Ubuntu下配置環境
一、開始記錄之前先看下Windows下MSVC和minGW編譯器的區別:
MSVC
:即Microsoft Visual C++ Compiler,即微軟自己的編譯器我們下載Windows下的OpenCV時,會帶兩個資料夾VC14,VC15(分別與Visual Studio的版本有對應關係),這兩個資料夾下的庫可以直接執行不需要編譯將VS作為Qt的開發環境也是使用這個編譯器的緣故
MinGW
:我們都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW則是指Minimalist GNU for Windows的縮寫它是將GNU開發工具移植到Win32平臺下的產物,即一套Windows上的GNU工具集用其開發的程式不需要額外的第三方DLL支援就可以在Windows下執行,相對地,不使用動態庫導致的就是編譯出來的程式大很多。也是可以設定使用靜態庫的
簡單概括就是用
MSVC編譯器不需要自己編譯OpenCV庫,用MinGW需要用Cmake編譯OpenCV庫(及其繁瑣)
所以暫且就用
MSVC編譯器
來配置和使用OpenCV,Qt的安裝過程中需要注意事項:
具體的安裝可以參考文章:https://www。dianyuan。com/eestar/article-2864。html
二、QT中配置MSVC:
安裝完QT之後,進入 工具->選項->Kits,會發現MSVC的前面會有黃色感嘆號,如下所示:
這是因為MSVC2017的構建套件裡面沒有配置除錯工具。
在vs裡面進行更改安裝項,選擇下列圖片上的專案安裝
安裝兩個。cdb偵錯程式,最新sdk下載地址:https://developer。microsoft。com/zh-cn/windows/downloads/sdk-archive/,值需要安裝debuging tools for Windows就可以
安裝完成後,開啟qt creator的工具–選項–kits–編譯器,這時候圖片中的劃線位置就可以選擇了,
二、下面就是opencv的使用:
1。新建一個Qt專案
2。建立專案檔名和選擇你需要的路徑
3。選擇編譯器(
這裡劃重點
)
圖中的二個編譯器分別是
1.微軟官方提供的編譯器
2。MinGW是一款開源的window下專用的編譯器
因為我們下載的opencv 已經提供好了對windows下opencv的編譯,如果我們選用其他的非微軟的編譯器,就需要重新編譯。例如工業上使用非常多的cmake進行編譯,之後就可以使用別的編譯器對我們的程式進行編譯。在這裡我們使用微軟自帶的編譯器。
4。後面就沒什麼需要注意的了,也不需要更改,一路下一步
第三步:
根據我們的opencv所在位置給我們的專案檔案新增標頭檔案和庫目錄
新增完成之後的圖片,配置和在vs中原理相同,方法不一樣而已。
新增的時候不要照抄,根據自己的環境來配置。
新增完之後先編譯一下,讓我們的opencv標頭檔案生效——左下角的小錘子。否則可能會產生新增標頭檔案沒有效果的狀態。
最後實驗我們的成果,顯示一張圖片
可以看到成功顯示了圖片和Qt的ui介面。
過程中出現問題:msvc-version。conf loaded but QMAKE_MSC_VER isn‘t set
解決方案: 開啟檔案D:\Qt\Qt5。14。2\5。14。2\msvc2017_64\mkspecs\common\msvc-version。conf 在其中新增版本QMAKE_MSC_VER = 1900,就可以解決