windows用mingw(g++)编译opencv,opencv_contrib,并install安装

windows下用mingw编译opencv貌似不支持cuda,选cuda会报错,我无法解决,所以没选cuda,下面两种编译方式支持。

如要用msvc编译opencv,参考我另外一篇文章

https://blog.csdn.net/weixin_44733606/article/details/135743339

如要用Ubuntu编译opencv,参考我另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/131720128

一、安装mingw

1、如果已经安装Qt,则Qt自带mingw编译器,从Qt安装目录找到编译器所在目录即可。

例如我的在下面路径,记得添加编译器环境变量。

2、若未安装Qt,则安装Mingw即可,参考我的另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/135601057

二、安装cmake。

1、如果已经安装Qt,则Qt自带cmake,从Qt安装目录找到cmake所在目录即可。

例如我的在下面路径,记得添加cmake环境变量。

2、 若未安装Qt,则安装cmake即可。

官网下载cmakehttps://cmake.org/download/

三、下载opencv,https://github.com/opencv/opencv/releases及opencv_contribhttps://github.com/opencv/opencv_contrib

四、开始编译

1、解压opencv

解压opencv,找个合适的地方保存就行。

2、Configure

打开cmake gui程序,在下面两个框中分别输入opencv的源文件和编译目录,build-mingw为你创建的目录,可自定义命名

3、然后Configure按钮,会跳出编译器的选择框,选择Mingw Makefiles,Special native compilers

指定一下编译器的位置,如下图所示: 点finish。

4、点Configure,不出意料,会出现一堆的红色字体。

4.1、在 OPENCV_EXTRA_MODULES_PATH 中填入 OpenCV_contrib 解压文件夹 modules 的路径

4.2、取消选择 OPENCV_GENERATE_SETUPVARS

4.3、 取消选择 java 的编译选项(个人不需要)

4.4、取消test, 加速编译

4.5、勾选 BUILD_opencv_world 最终只生成一个动态链接库方便使用

4.6、勾选nonfree

4.7、再次Configure,还有报错,参考我的其他文章

https://blog.csdn.net/weixin_44733606/article/details/135716495

https://blog.csdn.net/weixin_44733606/article/details/131721057

4.8、一直configure到不出错

5、点Generate

6、编译

打开cmd,进入到自己选择的build-mingw目录,输入下面的命令执行。(-j可以加速编译,参数为cpu核数,线程数也行)

复制代码
mingw32-make -j10

7、安装

不指定安装目录,使用默认路径

复制代码
mingw32-make install

指定安装目录

复制代码
mingw32-make install destdir=C:\Windows\Qt\6.6.1\mingw_64
相关推荐
Jacob程序员1 天前
Windows下MCP环境配置全攻略
windows
银河外卖员1 天前
VMware 虚拟机安装 Windows 10 系统详细图文教程
windows·vmware
渣渣灰95871 天前
Windows 10 环境部署 Claude Code 教程
windows·vscode·calude code
元Y亨H2 天前
Windows 内置管理员 (Administrator) 账户重命名指南
windows
水饺编程2 天前
第5章,[Win32 章节] :几种典型的颜色
c语言·c++·windows·visual studio
STDD2 天前
Samba 文件共享:Linux 服务器与 Windows/Mac 共享文件夹
linux·服务器·windows
在繁华处2 天前
轻棋局(一):项目总览与架构设计
人工智能·windows
灰色人生qwer2 天前
Python 规则:带默认值的参数必须放在不带默认值的后面
linux·windows·python
水饺编程2 天前
编程基础:令牌粘贴指令,【##】
c语言·c++·windows·visual studio
Vodka~2 天前
一根网线——Windows共享网络给Linux访问互联网
linux·网络·windows