当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/288405.html

相关文章:

  • JDWP 协议及实现
  • 利用ADS建立MIPI D-PHY链路仿真流程
  • 【大根堆】【C++算法】871 最低加油次数
  • SpringBoot的自动装配原理
  • 嵌入式驱动开发需要会哪些技能?
  • Leetcode:二分搜索树层次遍历
  • 【fabric.js】toDataURL 性能问题、优化
  • 基于Grafana+Prometheus搭建可视化监控系统实践
  • 选择排序(堆排序和topK问题)
  • webpack tree shaking 摇树原理
  • 开源模型应用落地-业务整合篇(三)
  • js打地鼠
  • 计算机网络体系架构认知--网络协议栈
  • Ubuntu 22.04 安装tomcat
  • 记录:Ubuntu 18.04 X86 上通过CMake 指定编译器工具链交叉编译。
  • requests,js逆向练习
  • Chrome 插件调试
  • 云轴科技ZStack成为交通运输业上云用云推进中心首批成员单位
  • 代码随想录算法训练营31期day4,力扣24+19+02.07+142
  • eNSP学习——利用单臂路由实现VLAN间路由
  • ISO27001认证:企业与个人发展的必备之选
  • SpringBoot使用druid
  • TongWeb8交流常见问答集
  • GBASE南大通用分享-mysql中的load data infile用法
  • Ubuntu18编译jdk8源码
  • 《开始使用PyQT》 第01章 PyQT入门 02 安装Python3和PyQT6
  • Java集合-Map接口(key-value)
  • 【操作系统】实验九 写一个设备驱动程序
  • 基于密码技术的身份认证——基于对称密码体制的身份认证
  • 算法36:单调栈结构、子数组最小乘积的最大值问题(力扣1586)----单调栈