本文版本:
1、QT:Based on Qt 5.12.2 (MSVC 2017, 32 bit),编译方式是MinGW
2、CMake:cmake-3.27.0-rc4-windows-x86_64.msi
3、OpenCV:OpenCV – 4.5.1
4、windows: win11/win10都一样
说明一下,OpenCV不要装太新的版本,因为本文方式使用CMark的方式。如果安装了最新的那几个版本可能会导致编译OpenCV的时候出现很多源代码错误,当然有其他方式可以解决,但是太麻烦,回退低版本就能解决兼容问题。(看个人)
QT的安装这里不做介绍,傻瓜式安装,只是在选择模块的时候,如果内存足够就全部勾选,如果内存不够,以后用到需要的模块时可能就比较麻烦,这点是不如VS的,可以追加下载,QT我研究过,没搞出来,都是重新安装的。
QT官网的下载可能会很慢,国内有镜像网站如下:
中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
北京理工大学:http://mirror.bit.edu.cn/qtproject/
中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
CMake接触不多,这里记录一下。
CMake:
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
官网地址:https://cmake.org/download/
这里我已经安装过了,所以图片我直接网上找了
下面这一步很重要,不然就得自己手动去PATH环境添加Cmake的环境变量了:
等待安装完成先不管了,待会儿需要用到。
OpenCV的介绍这里不做介绍,详情可以参考另外一位博主的博客:https://blog.csdn.net/m0_60720471/
本文版本:
截止当前最新版本:
下载windows版本,然后运行exe即可在当前exe文件夹下面生成一个同名文件夹。
进行到这里,就可以进行Cmake的编译了,这里进入Cmake安装目录下的bin,双击exe运行起来。
下面所有的图和路径等根据实际安装路径决定,图是网上找的。
Where is the source code: C:\opencv\sources
Where to build the binaries: C:\opencv\sources\opencv-build(opencv-build这个文件夹要新建)
保持默认MinGW Makefiles,点击Specify native compilers,再next:
C D:/Qt/Qt5.12.9/Tools/mingw730_64/bin/gcc.exe
C++ D:/Qt/Qt5.12.9/Tools/mingw730_64/bin/g++.exe
Fortran不用管
下一步:
Configuring done之后,会出现一大片红的,不用管,下拉将WITH_OPENGL和WITH_QT选中即可,然后再次点击Configure:
此时仍会有红色出现,继续按照下一步配置:
依次将下面的值设置好:
Set Qt5Concurrent_DIR to D:\Qt\Qt5.12.1\5.12.1\mingw73_64\lib\cmake\Qt5Concurrent
Set Qt5Core_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Core
Set Qt5Gui_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Gui
Set Qt5OpenGL_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5OpenGL
Set Qt5Test_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Test
Set Qt5Widgets_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5Widgets
Set Qt5_DIR to D:\Qt\Qt5.12.9\5.12.9\mingw73_64\lib\cmake\Qt5
再次点击Configure之后,红色消失,最后点击Generate:
Generate完成之后,关闭Cmake即可,此时进入之前我们新建的文件夹D:\OpenCV4.5.1\opencv\opencv-build
我这里名字是install。
将鼠标放在该文件夹界面内,按住shift键,同时点击鼠标右键,点击在此处打开Powershell窗口(s),进入Windows Powershell,输入
mingw32-make -j 32 // 这里8是表示多线程处理,你的配置够高可以加大这个数字,加快编译速度,反之,减少就行。
等待编译完之后继续输入:
mingw32-make install
等待完成之后将编译后的路径配置进环境变量:
到这里,一切就绪,打开QT测试。
新建QT项目这里不多说,创建一个QMainWindow即可。
在.pro
文件中添加如下:
INCLUDEPATH += \
C:\opencv\install\install\include \
LIBS += \
C:\opencv\install\lib\libopencv_*.a \
这里我不贴完整代码了,项目里面的OpenCV+海康威视了。