QT5.14.2适配MySQL5.7.28.0

一、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),并打开

进入Qtmysql驱动目录

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.dllD:\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(); 如果看到如下字样,则表示驱动加载成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值