Qt引入mysql驱动
2021-12-07 本文已影响0人
WhiteStruggle
Qt 5在高版本中取消了对MySQL数据库的默认支持
("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
如果发现没有 QT\5.15.1\Src\qtbase\src\plugins\sqldrivers\mysql
类似的目录
发现 , 原来没有安装 Qt 源码 ,因此 没有 Src文件夹
因此需要安装这个目录:


步骤
-
找到 mysql 安装目录 下的 lib 文件夹 ,复制
libmysql.dll
和libmysql.lib
image.png
-
找到 Qt安装目录 如下 ,这选择的是
MingW 64
位 版本,将libmysql.dll
和libmysql.lib
粘贴到此文件夹下
Qt6的64位和32位在一个文件夹下

- 在 QT 安装目录 ,选择 路径 如下,最后找到 mysql
D:\VisualStudio\QT\5.15.1\Src\qtbase\src\plugins\sqldrivers\mysql

- 用 QT打开
mysql.pro
,修改pro文件,注释掉QMHER_USE += mysql
# 添加以下内容
# mysql 的 lib 文件
LIBS += D:/SQL/mysql-8.0.19-winx64/lib/libmysql.lib
# mysql 的 include 目录
INCLUDEPATH += D:/SQL/mysql-8.0.19-winx64/include

- 使用 第二步 添加过
libmysql.dll
和libmysql.lib
文件的 debug 调试 工具
注意: 调试过程会出现错误,直接忽略错误,强制执行
- 打开 D盘,或者你安装 QT 的 根目录文件夹 ,会产生三个文件夹,如下(最下边三个)

- 打开
D:\plugins\sqldrivers
文件夹 , 复制qsqlmysql.dll
文件

- 把上一步的
qsqlmysql.dll
文件复制到如下目录 ,也就是 第二步 选择的那个 MingW 64 位 目录下的plugins\sqldrivers
`D:\VisualStudio\QT\5.15.1\mingw81_64\plugins\sqldrivers

测试一下:
qDebug() << QSqlDatabase::drivers();
结果:
("QSQLITE", "QMARIADB", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")