当今时代,早已经是互联网时代,但像计算机视觉这样的领域,还是需要开发很多端应用软件. 对于工业机器视觉来说,Qt+VS的组合是开发人员很喜欢的黄金搭档.
Qt的特点是跨平台,Visual Studio号称宇宙第一IDE【链接给的都是官网,支持正版,程序员有责(如果买不起付费版可以考虑社区版或试用版哈)】. 所以下载安装这两者的指导就不必多说了. 这里就多说一点:像小白这样初学的同学,在安装Qt时可能会因为配置上的不清楚,漏安装一些内容. 比如本小白就是按默认的安装,只装了MinGW编译器.
这样就很尴尬了,因为如果要联合使用Qt和VS,则无法使用MinGW编译器,需要为Qt配置MSVC编译器.
如果各位同学和本小白一样是从官网下载的话,可能会遇上一个问题:因为团队开发需要,目前还是需要使用VS2013这样的古老版本. 但是最新版本的Qt安装包里已经不包含MSVC2013编译器了. 以本小白为例,安装的Qt版本是5.12.11. 而带有MSVC2013编译器的最后版本是5.9.0,这时该怎么办呢?
其实小白也一直觉得这都2022年了,至少也得用一个VS2017吧,这算是一种解决办法. 另一种办法就是在已经安装Qt后补充安装MSVC2013编译器. 接下来就对这种方法的实际操作进行说明:
首先找到Qt的安装路径,找到Qt路径下的MaintenanceTool.exe. 如果不知道怎么找或者找不到的话,可以通过Windows的“添加或删除程序”中找到修改Qt的选项.
点击“下一步”后,勾选“Archive”,点击“筛选”(“filters”).
在列表里找到Qt5.9.0下的MSVC 2013 64-bit 编译器. 下一步,等待安装完毕.
Qt Creator中新建一个项目,注意我们不选择MinGW编译器,选择MSVC2013编译器:
这个项目是配置了OpenCV的:
在mainwindow.cpp文件里进行如下修改:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("Image Processing : Hello, Lena! Hello, World!");
Mat src = imread("./lena.jpg");
Mat img;
cvtColor(src, img, COLOR_BGR2RGB);
ui->label->setPixmap(QPixmap::fromImage(QImage(img.data, img.cols, img.rows, img.step, QImage::Format_RGB888)));
}
MainWindow::~MainWindow()
{
delete ui;
}
需要配置opencv库:
选择外部库–>在浏览中选择OpenCV的lib所在地址
分别配置库文件和包含路径.
修改一下mainwindow.ui文件,添加一个Scroll Area和一个label:
“构建”–> “运行”
接下来我们做另一件事,即把上面这个项目导入到VS中. 首先我们需要下载一个qt_vs_tools插件.
注意下载的版本需要能用在VS2013上(如果是其他版本也要注意对应哦).
在这个网址找插件https://download.qt.io/development_releases/vsaddin/
小白下载的是2.3.0下的专为vs2013使用的插件.
下载下来之后安装就可以了. 安装好之后会在VS工具栏里多出QT VS TOOLS这个工具.
这还不能用,需要配置Qt选项
注意这时需要配置msvc编译器,选择MinGW编译器是不会通过的. 配置好后点击确定.
接下来就比较简单了,只需要在qt_vs_tools插件中打开刚刚建好的Qt项目.
于是VS就会为你生成这个项目的.sln文件,并读取Qt中已经配置的各相关设置.
编译运行,Over!
[1] vs2013中配置Qt的方法以及使用感受。
[2] Qt VS Tools插件官方下载及安装
[3] 五分钟搞定OpenCV4 + QT5集成与代码测试
[4] QT_VS_TOOLS插件官方下载及安装