【Qt实战教程第1篇 编译mysql数据库驱动--MSVC2017版本】


本博主只关注实战系列,Qt的基本语法课参考其他博主的Qt教程

一、配置VS2022、Qt 5.14.2、 MSVC 2017环境

qt可自行下载,本博主使用的是版本是Qt 5.14.2,本人亲测可以运行

(1):扩展–>管理扩展,搜索qt,点击下载,等待下载完成,关闭vs,qt会自动安装

在这里插入图片描述

(2):扩展–>Qt VS Tools–>Qt Versions

在这里插入图片描述

在这里插入图片描述选择Qt 安装目录,本人的是D:\Qt\5.14.2\msvc2017_64\bin,选中qmake.exe即可设置成功

二、编译mysql数据库驱动

这里需要下载Qt模块的源码,有两种方式:
(1):Qt安装时勾选Src目录
(2):可自行下载单独模块的源码,https://download.qt.io/archive/qt/,选择符合自己的Qt版本,之后进入submodules,选择qtbase-everywhere-src-5.14.2.zip进行下载
在这里插入图片描述
下载后解压到电脑Qt的安装目录下
在这里插入图片描述

(1):更改mysql的pro文件

到目录D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers,编辑qsqldriverbase.pri文件
仿照下面的内容,更改自己的qsqldriverbase.pri文件

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include(./configure.pri)
PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

到目录D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql,编辑mysql.pro文件
仿照下面的内容,更改自己的mysql.pro文件

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)


#该路径是刚才下载解压备用的mysql的头文件路径
INCLUDEPATH +="D:/mysql/include"
#该路径是刚才下载解压备用的mysql的库文件路径
LIBS +="D:/mysql/lib/libmysql.lib"

#为了方便查找将来编译好的库文件,添加这个语句用来指明编译后的结果输出的位置
DESTDIR = "D:/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/lib/"

(2):打开Qt终端

在这里插入图片描述进入mysql目录,执行qmake

Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!
 
D:\Qt\5.14.2\msvc2017_64>cd D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql
 
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake
 
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>

(3):打开Vs 2022 的命令行工具

x64 Native Tools Command Prompt for VS 2022
在这里插入图片描述

进入目录,qmake,nmake即可

**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.8.6
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

D:\Microsoft Visual Studio>cd D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql

D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>nmake

(4):输出结果

在这里插入图片描述
在这里插入图片描述

DESTDIR = “D:/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/lib/”
将生成的qsqlmysql.dll、qsqlmysqld.dll拷贝到D:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers目录中。
将MySQL目录(D:\mysql\lib)下的 libmysql.dll 拷贝到D:\Qt\Q5.14.2\msvc2017_64\bin目录中。

(5):测试运行

打开Visual Studio 2022,新建项目MysqlTest,选中Qt Widgets Application,一直下一步,项目就创建好了。Visual Studio 2022添加mysql模块,请参考下面步骤
项目–>属性
在这里插入图片描述
VC++目录,包含目录添加Qt的include目录
D:\Qt\5.14.2\msvc2017_64\include
D:\Qt\5.14.2\msvc2017_64\include\QtSql
在这里插入图片描述

在这里插入图片描述
VC++目录,库目录添加Qt的lib目录
D:\Qt\5.14.2\msvc2017_64\lib
在这里插入图片描述
Qt Project Settings下面的Qt Modules中添加sql模块
在这里插入图片描述
在这里插入图片描述
点击确定,vs2022的sql模块就配置好了。打开main.cpp文件
添加sql头文件QSqlDataBase,写入测试代码,结果可以看到mysql驱动可以正常使用

#include "MysqlTest.h"
#include <QtWidgets/QApplication>
#include <QSqlDataBase>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
   /* MysqlTest w;
    w.show();*/
	QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
	db.setHostName("localhost"); // 填写自己的数据库ip,本地为localhost
	db.setDatabaseName("test"); // 数据库名称
	db.setUserName("root"); // 数据库用户名
	db.setPassword("1234"); // 数据库密码
	qDebug() << db.drivers();
	if (!db.open())
	{
		qDebug() << QStringLiteral("数据库连接失败");
	}
	qDebug() << QStringLiteral("数据库连接成功");
    return a.exec();
}

在这里插入图片描述

三、结语

下一节【Qt实战教程第2篇 数据库 QSqlTableModel分页查询、增删改查 含源码+注释】

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值