Qt使用MinGW-64bit编译器和配置64位OpenCV3时遇到的一些问题:In function cv::String 和 undefined reference to ‘XXX’ 等

本文主要是介绍Qt使用MinGW-64bit编译器和配置64位OpenCV3时遇到的一些问题:In function cv::String 和 undefined reference to ‘XXX’ 等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Qt使用MinGW-64bit编译器和配置64位OpenCV3时遇到的一些问题:In function cv::String 和 undefined reference to ‘XXX’ 等

  • 前言
  • 一、安装64位编译器
    • 1. OpenCV3 64位软件需要 64位的编译器
    • 2. 给Qt添加64位编译器
  • 二、OpenCV3的软件版本选择、下载和配置代码


前言

最近在Qt上配置OpenCV3的环境,过程不怎么顺利,走了弯路也长了见识,因此决定将过程记录下来,做个总结。


一、安装64位编译器

1. OpenCV3 64位软件需要 64位的编译器

之前参照《OpenCV3编程入门》,使用VS2019软件平台,OpenCV版本是opencv-3.4.14。这个版本的OpenCV不再提供32位软件了,所以build文件夹里面只有x64版本的软件,所以得使用64位的编译器(如下图)。(sources文件中有原码,据说可以自行编译成32位版本的软件使用,也算一条出路)
在这里插入图片描述

2. 给Qt添加64位编译器

后来使用Qt,就打算在Qt上使用OpenCV。
依照网上的教程,将之前VS2019使用的OpenCV的 工程包含目录(include) 和 工程库目录(lib)添加到 .pro 文件中。因为我使用的Qt版本是qt-opensource-windows-x86-5.9.9,安装时只装了 WinGW 32-bit 这一个编译器(如下图),而且这个软件本身也是32位的。
我首先打算装一个64位的Qt的
Qt下载(多种下载通道+所有版本)
在镜像库中发现Windows的没有64位版的。但是网上说Qt软件是32位版的也没关系,安装了64位的编译器就能编译64位的程序,同样能用64位的库。
Qt的各个模块 图解Qt安装(Windows平台) 里面有讲解。
在这里插入图片描述在这里插入图片描述
于是动手补充安装Qt的 MSVC 2017 64-bit 编译器模块。在Qt的安装文件夹中有一个 MaintenanceTool.exe 程序,据说可以像VS2019那样Add&Remove模块,我按照网上的教程进行了操作
QT安装、添加或删除、更新组件
并没有弹出安装MSVC 模块的界面,于是重装软件。在网上找安装MSVC的教程,包括按照 QT5.14搭建MSVC(VS2017) x86 以及64位编译器开发环境搭建(GDB配置) 的第三步安装了 Win10的SDK 等。
在这里插入图片描述
结果,新建工程,选编译器的时候选 MSVC 2017 64-bit,发现左边栏里只有.pro文件,其它文件和文件夹没有加载。
在这里插入图片描述
按 工具——&

这篇关于Qt使用MinGW-64bit编译器和配置64位OpenCV3时遇到的一些问题:In function cv::String 和 undefined reference to ‘XXX’ 等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905845

相关文章

linux生产者,消费者问题

pthread_cond_wait() :用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。 pthread_cond_wait() 必须与pthread_mutex 配套使用。pthread_cond_wait()函数一进入wait状态就会自动release mutex。当其他线程通过pthread

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM