介绍
- QT已经默认不提供MYSQL(MariaDB)的驱动程序了,要使用的话就需要自己编译。
- 编译须知,由于QT官方没有提供x64版本的qt,所以编译的也是x86的驱动。要想成功编译并使用驱动,必须保证相关的程序都为x86。
准备工作
- QT 5.14.1(点击可下载)
- qtbase源码,这里以最新的5.14.1为例

- MariaDB(x86) 推荐下载stable版本

开始编译
1.将目录 C:\Program Files (x86)\MariaDB 10.4\lib
(MariaDB 安装目录) 添加到环境变量中(记得重启电脑),或者将libmariadb.dll复制到C:/Windows目录下
- 进入目录
qtbase-everywhere-src-5.14.1\src\plugins\sqldrivers\mysql
,修改mysql.pro文件,修改内容如下: QMAKE_USE +=mysql -> #QMAKE_USE +=mysql
添加 include(../configure.pri)
- 通过QT打开mysql.pro 文件。



完成后在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)
include(../configure.pri)
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/'../../../../../../../../Program Files (x86)/MariaDB 10.4/lib/' -llibmariadb
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/'../../../../../../../../Program Files (x86)/MariaDB 10.4/lib/' -llibmariadb
INCLUDEPATH += $$PWD/'../../../../../../../../Program Files (x86)/MariaDB 10.4/include/mysql'
DEPENDPATH += $$PWD/'../../../../../../../../Program Files (x86)/MariaDB 10.4/include/mysql'
到此点击下方build,就可以开始编译。

编译成功后,在目录 C:\plugins\sqldrivers
下,有我们需要的库文件

拷贝文件qsqlmysql.dll和qsqlmysqld.dll
到 QT的安装目录下 C:\Qt\Qt5.14.1\5.14.1\msvc2017\plugins\sqldrivers
(这是我电脑上的目录)

到此就可以愉快的使用了。