Qt5.13 使用MySQL8.0.18

4 篇文章 0 订阅

软件环境:Qt5.13.1 + MySQL8.0.18 x64

MySQL 8.0.18 安装时安装了选择了Devlopment 环境。

连接数据库错误如下:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

由于Qt5.13 默认没有mysql 的驱动文件。

ubuntu 平台安装mysql plugin:

 apt install libqt5sql5-mysql

centos 平台安装mysql plugin:

yum install qt5-qtbase-mysql

windows 平台需要自已编译。

具体步骤如下:
Qt5.13.1 安装时选上src,因为要自已编译mysql plugins

用QtCreate 打开 C:\Qt\Qt5.13.1\5.13.1\Src\qtbase\src\plugins\sqldrivers\mysql\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)

INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include"
LIBS += "C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"


之后编译,编译成功后会在C盘生成 C:\plugins\sqldrivers 和 C:\mkspecs目录,将C:\plugins\sqldrivers目录下的libqsqlmysql.a  libqsqlmysqld.a  qsqlmysql.dll  qsqlmysqld.dll文件复制到 C:\Qt\Qt5.13.1\5.13.1\mingw73_64\plugins\sqldrivers (Qt安装时我选的编译工具为mingw)
C:\mkspecs目录下的文件复制到C:\Qt\Qt5.13.1\5.13.1\mingw73_64\mkspecs

C:\Program Files\MySQL\MySQL Server 8.0\lib 复制 libmysql.dll C:\Qt\Qt5.13.1\5.13.1\mingw73_64\bin 目录下,不然会提示 Driver not load

参考:

https://dev.to/f1r361rd/how-i-build-a-mysql-plugin-for-qt5-windows-mingw32-2kim

https://www.cnblogs.com/forsee/p/11963832.html

https://blog.csdn.net/cmdn669/article/details/100149825

https://forum.qt.io/topic/109866/qt5-mysql-plugin-on-ubuntu-18-04-not-working

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值