一、查看QT 是否支持MYSQL
1.1 在pro文件中加入以下sql支持
QT += sql
1.2 在主函数中打印一下QT支持的数据库
1.2.1 引入头文件
#include <QSqlDatabase>
#include <QDebug>
1.2.2 输出语句
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver,drivers)
qDebug()<<driver;
1.2.3 结果如下
可以看到QT新版本后是不提供MYSQL 支持的
二、添加MYSQL 支持
注:安装QT时一定要选择安装源码!!!
2.1 找到源码下的mysql
打开mysql 工程
工程配置按照QT编译器工程一致
然后按照如下方式修改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
#INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include/"
#LIBS += "C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"
#DESTDIR = ../mysql/lib/
# !!mysql的lib路径
LIBS += -L $$quote(C:/Program Files/MySQL/MySQL Server 8.0/lib) -llibmysql
# !!mysql的include路径
INCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Server 8.0/include)
# !!mysql的include路径
DEPENDPATH += $$quote(C:/Program Files/MySQL/MySQL Server 8.0/include)
include(../qsqldriverbase.pri)
2.2 构建mysql源码
2.2.1 添加mysql动态库到QTdebug文件库中
将mysql 安装目录下的libmysql.dll (在lib文件夹下)添加到QT bin目录下
2.2.2 告警
出现以上告警不必理会
2.3 生成驱动文件
此时会在QT 安装的同级目录下存在一个plugins文件夹,里面存在我们编译好的mysql 动态文件
2.4 添加到MYSQL 环境中
拷贝两个库文件qsqlmysql.dll
和qsqlmysql.dll.debug
到QT目录中Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers
目录下:
三、编译项目
重新编译刚刚的测试项目,输出以下信息
可以看到此时我们已经成功添加QT 的mysql 动态环境!!!