OpenCV+QT5在Window下的环境配置记录
在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成。
虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译后的源文件都会和库文件去进行链接。
这就导致不同的编译器可能需要不同的库。所以,下载得到源文件之后,要用指定的编译器重新编译。
0. 需要的工具
- Qt Creator
- OpenCV
- CMake
- cmd
注意,这里需要在环境变量中的Path变量下添加Qt\Qt5.9.0\Tools\mingwxx_xx\bin路径。例如我在这里添加了F:\Qt\Qt5.9.0\Tools\mingw530_32\bin,否则后面的CMake可能在Configure过后没有对应的选项!2. OpenCV的下载安装 OpenCV也可以直接在官网下载,这里选择对应的Windows版本,下载后安装。
安装完成后,在环境变量中添加Path变量,我添加的地址为F:\environment\opencv\build\bin。
3. CMake的下载使用 CMake可以直接在官网下载,注意安装的是带有界面的cmake-3.6.1-win64-x64.msi。
安装后打开cmake-gui.exe,Browse Source下选择安装的opencv下的sources文件夹,Browse Build可在opencv下新建一个release目录并选择,完整后点击左下角的Configure,选择MinGW Makefiles。
点击后CMake开始运行,过一段时间,中间会出现许多红色的选项,勾选WITH_OPENGL和WITH_QT,再次点击Configure。
运行完毕后可能还会出现部分红色选项,分别以下表选择对应项目。(有可能只有部分)
Name | Value |
---|---|
QT_QMAKE_EXECUTABLE | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/qmake.exe |
QT_MKSPECS_DIR | .../Qt/Qt5.3.1/5.3/mingw482_32/mkspecs |
QT_QTCORE_LIBRARY_DEBUG | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Cored.dll |
QT_QTCORE_LIBRARY_RELEAS | .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Core.dll |
QT_QTCORE_INCLUDE_DIR | .../Qt/Qt5.3.1/5.3/mingw482_32/include/QtCore/5.3.1/QtCore |
Qt5_DIR | .../Qt/Qt5.3.1 |
注意:如果你在安装Qt5后,没有给Qt5添加环境变量的话,那么在这一步,CMake软件是不会找到这些和Qt5相关的项的。配置完成后再次Configure,没有红色选项,CMAKE_BUILD_TYPE选择Release类型,再次点击Configure后没有报错,点击Generate。
【OpenCV+QT5在Window下的环境配置记录】在Generate结束后需要使用cmd来最后编译生成我们需要的动态dll库。
4. 在cmd中使用mingw32-make命令构建dll库 打开cmd,使用cd命令进入我们刚才在CMake里Browse Build选项中选择的目录,笔者的为F:\environment\opencv\release。(这里可能cd不进去,Windows下切换磁盘直接输入磁盘符+冒号就可以切换到其他盘了)。
f:等待构建成功后,该目录下的include目录和lib目录下就生成了我们需要的库了。
cd F:\environment\opencv\release
mingw32-make
5. 在Qt Creator的.pro文件中添加配置 在你需要使用OpenCV的项目的.pro文件中添加配置
INCLUDEPATH += E:\opencv-4.0.1-Sources\opencv-build\install\include
LIBS += E:\opencv-4.0.1-Sources\opencv-build\lib\libopencv_*.a
推荐阅读
- 同态加密在联邦计算中的应用
- 软件行业|网景创始人(软件应用无所不在 正吞噬整个世界)
- 企业知识管理常见的误区及解决方案
- 2022 年互联网大厂都在集中裁员,是什么原因导致的()
- git|Windows下使用git bash提示“fatal: protocol 'https' is not supported”的解决办法(不用删https再加上)
- web前端学习圈|推荐 9 个 GitHub 上练手项目(在线考试、仿美团、仿抖音、仿B站、仿头条...)
- 网络协议|Http协议详解
- loader的三种配置方式
- 在线Javascript压缩工具
- MySQL数据库本地事务原理解析