您的位置:首页 > 编程语言 > Qt开发

Win10(x64)+Qt5.8(MSVC2015)+OpenCV3.2.0配置过程

2017-12-16 12:47 381 查看
参考:https://www.cnblogs.com/wuzhiting/p/6594136.html

参考:http://blog.csdn.net/u014265347/article/details/54972611

在之前的文章中http://blog.csdn.net/zong596568821xp/article/details/78627755,配置过Qt+OpenCV,但后来在使用Qt做工程的时候,发现需要用到MSVC的编译器,而不是MingW的编译器,因此选择重新配置一遍,也要注意版本的搭配

所用版本 

Windows 10 64位

OpenCV 3.2.0 https://opencv.org/opencv-3-2.html

QT 5.8.0 x64 https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.8/5.8.0/

MSVC 2015 

注意:安装MSVC版本的Qt时,一定要安装有对应版本的vs2015(64位)

注意:安装 VS2015 时,切记勾选“Visual C++”选项(选择自定义安装-编程语言)。 

第一步:安装QT 并配置环境变量 (第二行是下一步OpenCV的环境变量)



注意使用MSVC版本的Qt时,要配置Qt的VS环境,如下步骤:

在Qt Creator里打开工具-选项 

在构建和运行-编译器中可以看出Qt已经自动检测出来了vs的信息,不需要手动配置(由于我电脑里安装了vs2010和vs2015,所以有10.0和14.0) 



自动检测出来的构建套件前面显示的警告符号,调试器部分显示“None”,这说明还没有配置调试器 


调试器默认情况下是没有的,必须手动下载 windbg,我选择了默认安装路径,经过几个下一步后,在安装过程中,需要勾选“Debugging
Tools for Windows” 

 


安装完成之后,打开 Qt Creator(如果已经打开,请先关闭,再重新打开)。这时,可以看到 Qt 已经自动检测出调试器了 


在“构建套件(Kit)”中选择自动检测出来的调试器即可 


第二步:解压OpenCV

OpenCV3.2.0比较方便的一点就是不需要像之前版本那要需要包涵多个 opencv_*.lib

新建一个Qt Widgets Application 并在*.pro 文件最后追加如下代码

INCLUDEPATH += C:\opencv\opencv\build\include \
C:\opencv\opencv\build\include\opencv \
C:\opencv\opencv\build\include\opencv2 \

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../opencv/opencv/build/x64/vc14/lib/ -lopencv_world320
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../opencv/opencv/build/x64/vc14/lib/ -lopencv_world320d
else:unix: LIBS += -L$$PWD/../../../../opencv/opencv/build/x64/vc14/lib/ -lopencv_world320

INCLUDEPATH += $$PWD/../../../../opencv/opencv/build/x64/vc14
DEPENDPATH += $$PWD/../../../../opencv/opencv/build/x64/vc14

手动添加lib的方式容易出错,可以选择自动添加,配置方法是,新建QT项目,在左侧选择项目-》右键-》添加库-》外部库-》添加库所在的路径就可了,



然后在mainwindow.cpp里修改为以下代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

// read an image
cv::Mat image = cv::imread("d://1.jpg", 1);
// create image window named "My Image"
cv::namedWindow("My Image");
// show the image on window
cv::imshow("My Image", image);
}

MainWindow::~MainWindow()
{
delete ui;
}

注意要在d盘中放一张1.jpg的图片,然后编译后即可实现图片的显示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: