Qt5.8 mingw 配置opencv3.2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21078557/article/details/78957165

Qt5.8 mingw 配置opencv3.2

首先,本博主也是辛辛苦苦通过一步一步的学习,最后才修炼得到此宝典,与各位分享共同学习。

好了,废话不多说,你必须耐心的跟着我的步骤来,不然你极有可能会失败。哈哈哈

写在最前面
为什么我们需要编译这个mingw版本的opencv库?
答:我们在opencv官方一开始的时候下载的opencv文件,解压后里面有两个文件夹,一个是build,一个是source,问题就来了,build这个文件夹实际上是官方已经提前给我们编译好了的库,但是,这必须得有一个前提,就是你必须使用的是msvc编译器,而我们使用的是mingw编译器,所以,你想想,不同的编译器,肯定库文件不一样,就不能使用,对吧?所以,就有了下文为mingw编译器编译opencv的库。

最后,有人想问,那为啥不使用msvc,干嘛这么大费周章用mingw,实际上我们用mingw这个编译器的最重要的目的是最后能够跨平台,能够在linux、arm等平台使用,这些平台使用的编译器都是g++、gcc,所以,你懂的。

第一步:准备工具
1、需要用到的工具是cmake,我的cmake版本是3.4.3;
2、当然就是opencv的源代码了,网址在这里opencv下载地址我使用的是3.2版本,其他版本可能不会成功,但是方法是一样的
3、接下来就是下载qt5.8 mingw版本的 注意,如果你下载的是msvc版本的,你可以关闭这个页面了,因为对你的帮助没有什么用Qt下载地址

第二步:安装软件
1、这步是最傻瓜的,请把刚刚下载的cmake和qt都安装好,就可以了。

注意:安装qt的时候 请全部安装,以免后面出错。

第三步:配置系统环境变量:

注意:本博客的系统是win10 pro。可能与你的系统稍有不同,但是都是一样的,请自己百度不一样的地方,或者google。

1、首先配置g++、gcc编译环境:因为我们的qt使用的mingw编译器,自带gcc和g++,所以,配置系统的gcc和g++如图所示:

系统配置

备注:刚刚那个图不清晰,请按照我下面的红色框框里面对应的配置去配置你自己的环境变量。

这里写图片描述

啰嗦一句,还要把你的cmake的bin目录同样的配置到系统变量里面去。

以上的路径都是在软件的安装路径下可寻得。

然后就是重点了,收藏此帖子后,请关机,请关机,请关机

第四步:开始使用cmake配置工程文件
1、如果你按照我说的,收藏此网页后并重新启动了电脑,请继续,否则,后续的所有操作都极有可能会失败,
2、首先打开你的cmake工具,然后在source code 和 build the binaries中分别填写你的opencv源代码目录和生成opencv库的目录,如图所示:
目录配置

注意,这个时候系统会提示你是否创建该目录(如果这个目录没有,建议你把源代码和生成后的文件目录这个时候都设置到桌面,方便后续操作),直接ok就可以了。

3、然后点击左下角的configure按钮,按照如图所示的设置:
这里写图片描述

4、点击next后,会让你设置gcc和g++编译器的路径,这个时候,请参考我给的如下图,对照自己的qt安装下去设置。
设置编译器路径

下面给出我的qt安装位置下的编译器路径,请参考我的,设置自己的。如果你的安装路径命名这些都和我一样,直接就复制进去就可以了。
F:/SoftWareCatelogy/QtAndriod5.8/Tools/mingw530_32/bin/gcc.exe

F:/SoftWareCatelogy/QtAndriod5.8/Tools/mingw530_32/bin/g++.exe

最后:请不要在设置目录的时候,包含有c++命名的文件目录,否则会出错。切记。

5、点击finish后这个时候系统会自动的更具cmakeList文件开始读取 配置文件,你不管,读取完后,你会发现,全是红色的,请把WITH_IPP取消勾选,请勾选WITH_OPENGL和WITH_QT
然后再次点击configure,还是有红色的,然后在点击一次configure 就全部都是白色的了。

注意,在5这个过程中,你肯定会遇到系统提示在下载ffmpeg、ippicv这两个文件,但是我已经帮你下载好了,请到这里自己下载ffmpeg

然后你还需要下载ippicv这个文件,本来我不想要收取你们的积分的 这个csdn最少都是2积分,我很无语,还限制了110mb的大小。所以,我把ippicv分开上传,因为大小超过了110,如果要下载,请把下载后的两个文件夹ippicv1、ippicv2**里面所有的文件**放在一个文件夹里面,且重新对新的文件夹命名为ippicv。链接如下:
ippicv1
ippicv2
如果你不想下载,你可以到github下载,或者直接下载我最后编译好了的库文件

6、关闭cmake,然后把刚刚下载的ffmpeg和ippicv这两个文件,放在opencv的source目录下的3rdparty(第三方库目录)目录下,直接全部复制替换掉就可以了。请注意命名,不要自己想当然的写。

7、最后重新打开cmake工具,点击configure,如果还是有错,请把生成目录删除(不是删除源代码,是删除生成源代码库的目录),重新按照刚刚cmake配置步骤,就可以了(讲道理是点击3次configure,一次genarate)。配置好后,即可关闭cmake工具。

第五步:make和install
1、如果你按照我的步骤,一直没有出错,那么,恭喜你,你成功的概率已经到了99%了。请继续按照下面步骤来。

2、进入到你的source源文件目录里面,里面有一个cmake文件夹,进去然后找到这个文件OpenCVCompilerOptions.cmake,把这一句话注释掉:add_extra_compiler_option(-Werror=non-virtual-dtor) 直接文本打开,搜索,然后在前面加上#即可。

3、如果你一开始听我的话,把库文件的生成目录设置在桌面的话,你就很舒服了。
1)、win+r,然后输入cmd,进入到你build的文件夹目录下。
2)cd 是切换目录 dir是显示当前位置文件

4、进入cmake生成的库文件目录后,使用这条命令开始make:
mingw32-make
等待20分钟
然后完成了,在输入这条命令mingw32-make install

然后就没有然后了 到此就大功告成了。

第六步:qt中配置opencv
1、新建一个qt工程,然后在pro 工程中添加如下配置:

INCLUDEPATH += XXX\install\include\
INCLUDEPATH += XXX\install\include\opencv\
INCLUDEPATH += XXX\install\include\opencv2\

LIBS += XXX\install\x86\mingw\lib\libopencv_*.a

注意:XXX代表的是你的库文件目录,把XXX替换为你的库目录即可。

最后附上我的工程配置如图所示:
工程配置

库文件下载:哇 太大了 1.8g 需要的请联系我QQ:543985125,我单独发给你吧。这个简直没法了。

最后,如果不出问题的话,你把你的代码写好了,编译没有问题,但是测试的时候会提示程序异常结束,这个时候请参考我的这篇博客。解决办法

谢谢大家,最后,欢迎大家共同讨论。

猜你喜欢

转载自blog.csdn.net/qq_21078557/article/details/78957165