前期准备
下载mysql 数据库 qt5.13.1使用的是mysql-5.7.25,其他版本没有测试
下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip
1.编译mysql驱动
===================================================================
进入Qt源目录
D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql
编辑mysql.pro文件
- 去掉 //QMAKE_USE += mysql
- 增加代码
LIBS += -LD:/software/mysql-5.7.25-winx64/lib/ -llibmysql
INCLUDEPATH += D:/software/mysql-5.7.25-winx64/include
DEPENDPATH += D:/software/mysql-5.7.25-winx64/include
===================================================================
修改qsqldriverbase.pri文件
返回上一层目录
D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers
修改 include($$shadowed($$PWD)/qtsqldrivers-config.pri)
改为 include($$shadowed($$PWD)/configure.pri)
===================================================================
设置mingw环境变量
增加 D:\Qt\Qt5.13.1\5.13.1\mingw73_64\bin
和D:\Qt\Qt5.13.1\Tools\mingw730_64\bin到环境变量
===================================================================
制作Makefile文件
进入D:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql
依次 执行
qmake
mingw32-make
mingw32-make install
校验结果
D:\Qt\Qt5.13.1\5.13.1\mingw73_64\plugins\sqldrivers目录下,会生成qsqlmysql.dll,qsqlmysqld.dll 两个动态链接库
===================================================================
拷贝驱动
在数据库\mysql-5.7.25-winx64\lib目录下拷贝libmysql.dll到mingw的bin目录
D:\Qt\Qt5.13.1\5.13.1\mingw73_64\bin
===================================================================
项目引入驱动
在工程.pro文件里,添加sql
QT += core gui sql
===================================================================
编写测试代码
//一定要注意 如果出现QSqlDatabase: QMYSQL driver not loaded,清理下,重构 还不行的话切换下QMYSQL,QMYSQL3
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("IP");
db.setPort(3306);
db.setDatabaseName("test");