Qt5.14.2+Cmake使用mingw64位编译opencv4.5成功图文教程

​

一、下载安装相关编译环境软件

1.1 Python3.8:安装路径:C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 安装包:python3.8.exe

1.2 QT5.14.2:安装路径:C:\Qt\Qt5.14.2

1.3 opencv4.5:解压路径D:\opencv\;安装包:opencv-4.5.0-vc14_vc15.exe

1.4 cmake-3.24:安装路径:C:\Program Files\CMake 安装包:cmake-3.24.0-win32-x86.exe

1.5 Java18:安装路径:C:\Program Files\Java\jdk-18.0.1 安装包:JavaSEDevelopmentKit.exe

二、打开我的电脑属性,设置环境变量Path包含如下配置:

C:\Program Files\CMake\bin;

C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin;

C:\Qt\Qt5.14.2\Tools\mingw73_64\bin;

C:\opencv\build\x64\vc15\bin;

3、打开CMake软件进行配置

点击 Configure,设置编译器

Specify the generator for this project: MinGW Makefiles

Specify native compilers

Next

Compilers C: C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/gcc.exe

Compilers C++: C:/Qt/Qt5.14.2/Tools/mingw730_64/bin/g++.exe

Finish

设置源码位置:D:/opencv/sources

设置生成项目位置:D:/opencv/build_mingw64

点击Configure按钮后配置对应选项

WITH_OPENGL 勾选

WITH_QT 不勾选

OPENCV_ENABLE_ALLOCATOR_STATS 不勾选

WITH_OPENCL_D3D11_NV 不勾选

其中:OPENCV_VS_VERSIONINFO_SKIP需要点击Add Entry按钮手工新增,OPENCV_VS_VERSIONINFO_SKIP BOOL 1.


4、下载ffmpeg文件到指定位置

下载网址:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/6152e132572dfdaa32887eabeb7199bef49b14dc/ffmpeg/ffmpeg_version.cmake

https://raw.githubusercontent.com/opencv/opencv_3rdparty/40b4666d1aa374205fd61373496e15d92ecd5313/ffmpeg/opencv_videoio_ffmpeg.dll

https://raw.githubusercontent.com/opencv/opencv_3rdparty/40b4666d1aa374205fd61373496e15d92ecd5313/ffmpeg/opencv_videoio_ffmpeg_64.dll

存放地址:

D:\opencv\build_mingw64\3rdparty\ffmpeg\ffmpeg_version.cmake​

D:\opencv\build_mingw64\3rdparty\ffmpeg\opencv_videoio_ffmpeg.dll

D:\opencv\build_mingw64\3rdparty\ffmpeg\opencv_videoio_ffmpeg_64.dll

5、编译项目文件:

点击Generate按钮后,生成项目文件完成。

6、开始菜单中打开Qt目录下的mingw64菜单,进入编译窗口。

中跳转到到指定目录,执行下面命令:

D:\opencv\build_mingw64>mingw32-make -j 8

D:\opencv\build_mingw64>mingw32-make install

编译到68%时候会出错,需要运行新的mingw64窗口,执行命令

切换目录cd D:\opencv\build_mingw64\modules\word\CMakeFiles\opencv_world.dir

执行指令:C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\windres.exe D:\opencv\build_mingw64\modules\world\vs_version.rc -O coff .\vs_version.rc.obj


日志记录如下:

D:\opencv\build_mingw64\modules>cd world

D:\opencv\build_mingw64\modules\world>cd CMakeFiles

D:\opencv\build_mingw64\modules\world\CMakeFiles>cd opencv_world.dir

D:\opencv\build_mingw64\modules\world\CMakeFiles\opencv_world.dir>C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\windres.exe .\vs_version.rc -O coff .\vs_version.rc.obj

gcc: error: .\vs_version.rc: No such file or directory

gcc: warning: '-x c' after last input file has no effect

gcc: fatal error: no input files

compilation terminated.

C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\windres.exe: preprocessing failed.

D:\opencv\build_mingw64\modules\world\CMakeFiles\opencv_world.dir>C:\Qt\Qt5.14.2\Tools\mingw730_64\bin\windres.exe D:\opencv\build_mingw64\modules\world\vs_version.rc -O coff .\vs_version.rc.obj

D:\opencv\build_mingw64\modules\world\CMakeFiles\opencv_world.dir>mingw32-make.exe -j 8

mingw32-make.exe: *** No targets specified and no makefile found. Stop.

D:\opencv\build_mingw64\modules\world\CMakeFiles\opencv_world.dir>cd ../../../

D:\opencv\build_mingw64\modules>mingw32-make.exe -j 8


直到正确编译结束后,执行安装指令:mingw32-make install

​至此完成opencv对应的mingw-64版本软件的编译和安装

相关推荐
1024奇点10 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch10 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
Knight_AL11 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing0312 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by2099912 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河12 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮12 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻12 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble12 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
码流子13 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构