一、Windows版
安装Mysql
安装64位的Mysql,我装的是mysql-installer-community-5.7.28.0.msi
修改文件
注:需要安装QT的源码,QT5.14的安装包在安装时勾选source即可。我的QT安装目录为D:\Qt
修改D:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\qsqldriverbase.pri 中的内容,注释掉下面这一行, 用#注释掉
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
添加下面这一行
include($$shadowed($$PWD)/configure.pri)
修改D:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro中的内容,注释掉下面这一行, 用#注释掉
#QMAKE_USE += mysql
在末尾添加如下内容,其中D:/Program Files/MySQL是我的Mysql的安装目录
INCLUDEPATH+="D:/Program Files/MySQL/MySQL Server 5.7/include"
LIBS+="D:/Program Files/MySQL/MySQL Server 5.7/lib/libmysql.lib"
编译
在windows的开始菜单中找到QT的命令行窗口 Qt5.14.1(MinGW 7.3.0 64-bit),并打开
进入Qt的mysql驱动目录
cd D:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql\
使用下面两个命令来编译qsqlmysql.dll
qmake
mingw32-make
复制D:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\ qsqlmysql.dll 到D:\Qt\Qt5.14.1\5.14.1\mingw73_64\plugins\sqldrivers
拷贝
注:我的Mysql安装目录为D:\Program Files\MySQL
复制Mysql安装目录中的D:\Program Files\MySQL\MySQL Server 5.7\lib\ libmysql.dll到D:\Qt\Qt5.14.1\5.14.1\mingw73_64\bin
在QT工程中打印qDebug()<<QSqlDatabase::drivers(); 如果看到如下字样,则表示驱动加载成功。
二、Linux版
安装Mysql
sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
修改文件
注:需要安装QT的源码,QT5.14的安装包在安装时勾选source即可。我的QT安装目录为/opt ,下面的文件用文本编辑器修改时没有权限,可以使用chmod 777 文件名修改一下
修改/opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri 中的内容,注释掉下面这一行, 用#注释掉
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
添加下面这一行
include($$shadowed($$PWD)/configure.pri)
修改/opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro中的内容,注释掉下面这一行, 用#注释掉
#QMAKE_USE += mysql
在末尾添加如下内容,其中D:/Progrm Files/MySQL是我的Mysql的安装目录
INCLUDEPATH+=/usr/include/mysql
LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
编译
在Linux下面需要切到su下来进行编译,因为Qt安装是在su状态下安装的。
sudo su
cd /opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/mysql/
#su环境下也需要设置Qt的环境变量export QT_SELECT=Qt5.14
qmake
make
编译结果在目录/opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/plugins/sqldrivers/
拷贝
cd /opt/Qt5.14.0/5.14.0/Src/qtbase/src/plugins/sqldrivers/plugins/sqldrivers/
sudo cp libqsqlmysql.so /opt/Qt5.14.0/5.14.0/gcc_64/plugins/sqldrivers/
在QT工程中打印qDebug()<<QSqlDatabase::drivers(); 如果看到如下字样,则表示驱动加载成功。