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

Windows下QT调用MinGW编译的OpenCV

一、编译器的选择

        由于MSVC较大,一系列配置比较花时间,于是使用QT内的MinGW来编译工程。OpenCV官方目前只有MSVC编译器的库,MinGW的库在Github也有大佬已经分享:

github.comicon-default.png?t=O83Ahttps://github.com/huihut/OpenCV-MinGW-Build/releases

        如果QT使用MinGW编译器,那么OpenCV也需要MinGW编译再调用。

二、库的选择

        MinGW编译的OpenCV的库相对MSVC来说更分散。

1、MSVC编译的 lib 库:

2、MinGW编译的 lib 库只有.a后缀的类Unix的静态库,不是Windows的.lib后缀:

3、MSVC编译的 bin 动态库:

4、MinGW编译的 bin 动态库:

因此Windows下只能调用 bin 目录的动态库。

        在QT工程中,导入lib:

        导入头文件:

我将库放到了工程目录中,所以这里使用相对路径,方便移植。

此时因该能正常执行app了。

三、遇到过的问题

        1、调用库时,使用的lib下的.a后缀的库,不报错,但是app无法链接,无法执行:

换为bin下的动态库就能正常执行了。

        2、最开始使用的OpenCV为上文链接中4.5.5版本,但是我本地的环境无法执行,报错无法定位程序输入点:

百度有博主提到将 libstdc++-6 放到 C:\Windows\System32 目录下,但是针对这一版本的OpenCV没什么用。

我换为4.5.2后就能正常执行了,读者可以自行测试。我主要是电脑太慢了,自己编译很费时间。

四、总结

        在Windows平台使用MSVC编译器确实能减少很多麻烦,不过我几乎都是在Linux进行开发,实在是不想安装MSVC占用太多空间,这次是需要Windows来执行app,多捣鼓吧。

        本编文章主要是针对库的调用,记录我遇到的问题并解决。实际使用OpenCV库还有很多细节,可以查看其他博主的分享。


http://www.kler.cn/a/384150.html

相关文章:

  • 【C#】C# .NET中的Func、Predicate和Expression详解
  • Java版ERP管理系统源码解析:利用Spring Cloud Alibaba和Spring Boot实现微服务架构
  • uni生成海报并保存
  • 【JS学习】08. web API-事件进阶
  • HTTP、WebSocket、gRPC 或 WebRTC:各种协议的区别
  • 京准时钟:无人机卫星信号安全防护隔离装置
  • SIwave:释放 EMI 扫描仪/探测器的强大功能
  • 【CSS】“flex: 1“有什么用?
  • 如何在Linux环境中的Qt项目中使用ActiveMQ-CPP
  • 简单又便宜的实现电脑远程开机唤醒方法
  • 前端 | MYTED单篇TED词汇学习功能优化
  • leetcode 622.设计循环队列
  • DeBiFormer实战:使用DeBiFormer实现图像分类任务(二)
  • 高级 SQL 技巧详解
  • MDC(重要)
  • 物联网核心安全系列——物联网安全需求
  • 100种算法【Python版】第37篇—— Jarvis March算法
  • 快速上手vue3+js+Node.js
  • 实践出真知:MVEL表达式empty的坑
  • vue中html如何转成pdf下载,pdf转base64,忽略某个元素渲染在pdf中,方法封装
  • 【Python爬虫实战】DrissionPage 与 ChromiumPage:高效网页自动化与数据抓取的双利器
  • 【AI】【提高认知】卷积神经网络:从LeNet到AI淘金热的深度学习之旅
  • 一、数据操作
  • 5G NR物理层|5G PHY层概述
  • 【SpringCloud】Nacos微服务注册中心
  • 【LeetCode】【算法】416. 分割等和子集