VisualStudio+Opencv+Qt+MySQL配置

VisualStudio+Opencv+Qt+MySQL配置

最近要看一个项目,跑起来可真是费劲,学习上课之余,把它跑了起来

一、 VisualStudio2019安装

第一步安装VS,这一步安装很简单,去官网下载即可,安装的时候,根据自己需要安装所需要的环境,最主要的还是“使用C++的桌面开发”,这个安装过程网上特别多

二、Opencv的安装配置

特别注意的是,你要注意安装的opencv版本,注意项目原先是哪个版本的,要不然会出现编译不通过,或者编译错误,下文的安装路径全部是自己电脑上opencv的安装路径

1)下载解压

官网下载opencv,看自己需要下载对应版本
image.png

2)配置环境变量

下载完成后,解压,然后开始配置环境变量。右击'我的电脑'->'属性'->'高级系统设置'->'环境变量'->'系统变量'->'path'->'D:\C++Library2\opencv\build\x64\vc15\bin',添加路径进去
image.png

3)在vs上配置opencv

新建vs c++ 空白项目,debug设置为 x64模式
依次点击菜单栏 -> 视图 -> 其他窗口 -> 属性管理器,打开属性管理器。
在属性管理器 Debug | x64 添加新项目属性表,命名为“OpenCV430Debug”

1

image.png
image.png

4) 编辑属性表 OpenCV430Debug

1)在“OpenCV430Debug”上右键,选择属性,对该属性进行编辑

在“OpenCV430Debug”上右键,选择属性,对该属性进行编辑
image.png

添加如下两项:
D:\C++Library2\opencv\build\include
D:\C++Library2\opencv\build\include\opencv2

2)选择 VC++ 目录 -> 库目录: 编辑

FB07BF40F9F247B2D658A2BE169C1932.png

添加如图
D:\C++Library2\opencv\build\x64\vc15\lib

3)选择 链接器 -> 输入 -> 附加依赖项: 编辑

添加 opencv_world430d.lib

opencv 版本不一样这里引用的也不一样,注意一下

image.png

然后确实更改,保存退出属性编辑器

5)测试

编辑如下程序

 1#include <iostream>
 2#include <opencv2/core.hpp>
 3#include <opencv2/imgcodecs.hpp>
 4#include <opencv2/highgui.hpp>
 5 
 6using namespace std;
 7using namespace cv;
 8 
 9int main(int argc, char** argv)
10{
11    String imageName("test.jpg"); // by default
12    if (argc > 1)
13        imageName = argv[1];
14 
15    Mat image = imread(samples::findFile(imageName), IMREAD_COLOR); // Read the file
16    if (image.empty()) {  // Check for invalid input
17        cout << "Could not open or find the image" << endl;
18        return -1;
19    }
20    namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
21    imshow("Display window", image);                // Show our image inside it.
22    waitKey(0);   // Wait for a keystroke in the window
23 
24    return 0;
25}

运行成功,即测试成功。

三、安装Qt

1)qt安装

官网下载qt,安装的时候要注意自己要安装什么插件
image.png

2)Qt Visual Studio Tools 扩展的安装

打开visual Studio 2019 ,从菜单栏依次点击“扩展->管理扩展”,打开界面后,先点联机,在输入框搜索Qt,点下载Qt Visual Studio Tools,
image.png

3)Qt Visual Studio Tools 插件的配置

从菜单栏依次点击“扩展->Qt VS Tools->Qt Options”,按下图点开扩展中的 Qt Options
image.png

添加
D:\Qt\Qt5.14.2\5.14.2\msvc2017_64
D:\Qt\Qt5.14.2\5.14.2\msvc2017

image.png

4)配置环境变量

上文提到的地方,在path中加入
D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin

四、配置Mysql

在此没有安装MySQL教程,现在是mysql可以在cmd窗口进行登录的状态后进行配置

1)编译mysql驱动

在安装qt的时候记得要安装sources这个组件

打开qt安装目录找到mysql源码文件
路径 D:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql
用qt打开mysql.pro,记住要用你需要的编译环境打开,如果你是x64的你就选择这个,打开后修改文件,修改后的文件内容如下
image.png

 1TARGET = qsqlmysql
 2
 3HEADERS += $$PWD/qsql_mysql_p.h
 4SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
 5
 6
 7#QMAKE_USE += mysql
 8
 9OTHER_FILES += mysql.json
10
11PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
12include(../qsqldriverbase.pri)
13LIBS += "D:/mysql-5.1.44-winx64/lib/opt/libmysql.lib"
14INCLUDEPATH += "D:/mysql-5.1.44-winx64/include"
15DEPENDPATH += "D:/mysql-5.1.44-winx64/include"
16#DESTDIR = D:/plugins

Qt编译也许会出现错误
如 👀 error: msvc-version.conf loaded but QMAKE_MSC_VER isn't set

解决方法:

打开文件D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\common\msvc-version.conf

在其中添加版本QMAKE_MSC_VER = 1900 生成成功后,可以把它再注释掉

2)编译得到对应库

正常的话编译成功,文件会在qt所在的磁盘 比如我的在 D:\plugins\sqldrivers
image.png

将上图的
qsqlmysql.dll,
qsqlmysql.lib,
qsqlmysqld.dll,
qsqlmysqld.lib
拷贝到D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\plugins\sqldrivers

将mysql安装目录下的D:\mysql-5.1.44-winx64\lib\opt中的libmysql.dll和libmysql.lib拷贝到D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin中去

3)测试

用qt新建一个窗口文件,main.cpp如下

 1#include "mainwindow.h"
 2#include <QApplication>
 3#include <QSqlDatabase>
 4#include <QDebug>
 5int main(int argc, char *argv[])
 6{
 7    QApplication a(argc, argv);
 8    MainWindow w;
 9    w.show();
10    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //QMYSQL是固定的
11    db.setHostName("localhost");	//主机名称或地址
12    db.setUserName("root");		//连接数据库用户名
13    db.setPassword("123456");	//数据库连接密码
14    db.setDatabaseName("test");	//数据库名称
15    bool ok = db.open();
16    if (ok)
17    {
18        qDebug() << "connect ok";
19    }
20    else
21    {
22        qDebug() << "connect failed";
23    }
24
25    return a.exec();
26}

运行,在应用程序输出这如果有 connect ok 说明驱动成功

五、最后

安装过程可能不尽完善,其中也会出现其他一些问题,比如我用的vs2019+qt5.12.4版本,这个qt版本并没有msvc2019,需要手动进行配置一下,如果有什么需要问的可以给我发邮件 aeneag@163.com

    评论
    0 评论
avatar

取消