Qt5增加MySQL驱动

前言

Qt SQL模块是Qt提供的一个访问数据库的接口,但由于法律问题Qt不再提供MySQL驱动,因此必须自己编译。本文配置环境:Qt 5.15.2 (MSVC 2019, 64 bit)、MySQL 8.0.25。

默认情况下,通过代码qDebug()<<QSqlDatabase::drivers();输出当前已有驱动,会发现没有MySQL。

(“QSQLITE”, “QODBC”, “QODBC3”, “QPSQL”, “QPSQL7”)

1、下载MySQL

MySQL官网下载MySQL Community Server软件,选择适合自己的版本。

2、设置qmake的环境变量

将qmake.exe的路径添加至环境变量Path中。例如我这里使用MSVC 2019, 64 bit,因此路径是:

D:\Program\QT5\5.15.2\msvc2019_64\bin

3、修改mysql.pro文件

用Qt Creator打开mysql驱动工程:

D:\Program\QT5\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql/mysql.pro

编辑mysql.pro文件,注释掉QMAKE_USE += mysql,并添加MySQL的include路径和lib文件,例如

LIBS += "D:/SoftwareDevelopment/MySQL/mysql-8.0.25-winx64/lib/libmysql.lib"
INCLUDEPATH += "D:/SoftwareDevelopment/MySQL/mysql-8.0.25-winx64/include

Ctrl+B构建项目,完成后会在Qt所在磁盘的根目录下生成plugins、lib、mkspecs三个文件夹。将plugins\sqldrivers中的qsqlmysql.dll和qsqlmysqld.dll复制到Qt目录下,例如:

D:\Program\QT5\5.15.2\msvc2019_64\plugins\sqldrivers

好了,现在再次通过代码qDebug()<<QSqlDatabase::drivers();输出当前已有驱动,会看到多了MySQL相关驱动:

(“QSQLITE”, “QMARIADB”, “QMYSQL”, “QMYSQL3”, “QODBC”, “QODBC3”, “QPSQL”, “QPSQL7”)

参考文章

留下评论