了别人的配置,总是无法配置成功,自己慢慢摸索配置成功。我失败的原因是在于自己本机的环境变量和他们不同,特此记下,分享给有相同问题的朋友。
一、需要软件
1、cmake 3.11.3(版本无所谓)
2、qt-opensource-windows-x86-mingw530-5.8.0.exe(注意安装mingw版本,安装时勾选tools里面的mingw-xxx)
3、opencv3.3
二、配置环境变量
1、D:sofewarecmakein
2、D:sofewareQT5.6mingw49_32in;D:sofewareQTToolsmingw492_32in
按照自己的安装路径来!具体配置之后要不要重启笔记本?如果是配置的软件的环境变量,重启软件就好了,但是如果是系统上的环境变量,要重新启动笔记本。我们这里重新启动cmake和
qt就好了,如果不放心那就重新启动一下,有时候可能会用到系统。。。。玄学
三、安装
1、打开cmake
2、第一个地方是opencv源文件,第二个地方是将要生成的配置库地址,可以自己指定
3、左下角configure,然后这样选择:
4、选择编译器
5、得到下图,然后:左下角configure
6、执行结束,勾选WITH_OPENGL和WITH_QT。点击configure.(我的问题就出在了这里,你先如此执行)
此处,一定看清楚,红色部分的value值和你的安装位置对不对应。我笔记本里面有annocond里面也有cmake,所以我的默认是annoconda的位置,要手动改到qt所在的位置。
7、你的没有问题就直接再一次configure.若还有红色,再一次configure,直到没有红色。然后点击generate.如此就生成了makefile.
8、打开cmd,到你生成的install文件夹下面:输入mingw32-make
大约半小时结束,如果没有出现问题会到100%
9、继续:mingw32-make install
到此安装完成!
四、运行例子
1、建立一个qwidget文件;
2、在.pro里面加上:配置文件。
至此结束!
PS:我在装的时候出了第一个问题,只改第一个会出第二个。所以,一起改
1、 windres.exe: unknown option -- W ... ;或者connot find -lruntmchk
2、'sprintf_instead_use_StringCbPrintfA_ was not declared in this scope ..
解决方法:
1、在cmake中 取消勾选 ENABLE_PRECOMPILED_HEADERS,重新编译;
2、在..opencvsourcesmodulesvideoiosrccap_dshow.cpp
在#include "DShow.h"这一行前加上#define NO_DSHOW_STRSAFE
再次重新编译生成新的makefile,成功