QT6.6.0连接MYSQL

一、开发环境

QT6.6.0
Mysql8.0.36 官网下载地址 https://dev.mysql.com/downloads/

在这里插入图片描述

使用mingw x64编译环境 和Mysql保持一致

二、编译mysql驱动

1.报错信息:QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMIMER QMARIADB QODBC QPSQL
原因:QT6.6.0安装后不支持mysql,需要下载源码自己编译qmysql驱动
如果没有下载源码,可以从官网下载指定组件,不需要下载所有源码https://download.qt.io/archive/qt/6.6/6.6.0/submodules/
在这里插入图片描述
解压后使用QT加载qtbase-everywhere-src-6.6.0\src\plugins\sqldrivers目录下的cmakeList文件即可
在这里插入图片描述
找到安装mysql-server下的include和lib目录
在这里插入图片描述
复制这两个文件夹到工程目录,然后在刚才qt打开的工程里修改.camke.conf文件内容
在这里插入图片描述

set(QT_REPO_MODULE_VERSION "6.6.0")
SET(FEATURE_sql_mysql ON)
SET(MySQL_INCLUDE_DIR "拷贝路径/include")
SET(MySQL_LIBRARY "拷贝路径/lib/libmysql.lib")

将拷贝路径替换成你刚才复制mysql的include和lib目录。
再点击项目进行构建。
在这里插入图片描述
可以在构建目录plugins\sqldrivers找到构建的库文件
在这里插入图片描述
到这,qt的mysql的驱动文件就构建完了

三、使用连接mysql

1.将刚才生成的qsqlmysql.dll文件拷贝至安装QT编译环境的plugins\sqldrivers目录
在这里插入图片描述
2.拷贝安装的mysql-server下lib目录的libmysql.dll和libmysql.lib文件至QT编译器的bin目录
在这里插入图片描述

在这里插入图片描述
一般到这就结束了,但是由于数据库的版本和qt版本间差异的原因,此时直接运行程序会依然报错。
在这里插入图片描述
可以从图中看到,明明已经有了QMYSQL的驱动,但是无法加载。
到这里需要使用mysql Connector/C++ 的两个库
在这里插入图片描述
我没有安装 Connector/C++,只需要直接下载 Connector/C++的zip包从里面拷贝出libcrypto-3-x64.dll和libssl-3-x64.dll这两个库。
将这两个库拷贝到我们自己程序构建的目录即可。
在这里插入图片描述

再次构建运行程序,可以正常使用连接mysql了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值