QT6编译qsqlmysql.dll动态库

10 篇文章 0 订阅

背景:使用QT连接MySql数据库失败,提示“QMYSQL driver not loaded”

项目环境:QT6.2.4 + MinGW  11.2.0 64-bit + MySql8.0.19

一、连接失败原因

QT6已经不包含已编译好的qsqlmysql.dll动态库,所以软件提示“QMYSQL driver not loaded”,我的QT中能使用的驱动:QSQLITE、QODBC、QPSQL

首先不是QT增加使用门槛、风向变了,而是自从Oracle 收购MySql后对其进行了商业化,如今的MySql已经不能算是一个完全开源的数据库了,而Qt官方则一直严格秉持着开源理念,故 Qt6 取消了对 MySql数据库的默认支持 。

本项目使用mingw进行编译,进入如上图路径后,即可查看现在已存在的driver。

QT6手动编译qsqlmysql.dll具体步骤如下:

二、下载QT源码

下载好之后的mysql驱动源码在对应版本的此路径中,有些人会有mysql.pro文件,我只有CMakeLists.txt文件,本文仅讲述只有CMakeLists.txt文件的情况。

三、编译qsqlmysql.dll文件

1.复制QT6.2.4-->6.2.4-->Src文件夹中的qtbase文件夹,将其放置在一个空文件夹(请忽略此文件夹中的其他文件夹)

2.在QT Creator中打开项目文件,项目文件位置:qtbase-->src-->plugins-->sqldrivers-->CMakeLists.txt

3.我安装了mysql8.0.19。将mysql安装目录下的include、lib文件夹放置在一个空文件夹中,我随便放的,于是将其和前面的qtbase文件夹放到了一起

4.进入到QT项目中,找到.cmake.conf文件,加入以下三句话。

SET(FEATURE_sql_mysql ON)
SET(MySQL_INCLUDE_DIR "刚才复制的include文件夹路径/include")
SET(MySQL_LIBRARY "刚才复制的lib文件夹/lib/libmysql.lib")

我的路径仅供参考,请换成自己的路径

5.按键Ctrl + S保存后,进行项目构建

qsqlmysql.dll文件已经编译好了,点击QT Creator左边的“项目”一栏,我前面使用的Release构建模式,所以现在查看Release的结果保存路径:图中的构建目录-->plugins-->sqldrivers

6.将文件复制到文章最开始的mingw_64-->plugins-->sqldrivers文件夹中

7.这个时候,你去运行自己的项目,你会发现仍然连接失败,但是可用的驱动中又包含了"QMYSQL"。我们还缺少了2个重要文件

8.找到Mysql安装目录,将lib文件夹中的libmysql.dll、libmysql.lib文件复制到QT安装目录的mingw_64-->bin文件夹中

7.重新运行项目,连接数据库成功,不再报错“QMYSQL driver not loaded”

注意:qsqlmysql.dll文件是和自己当前使用的mysql版本绑定的,更换了mysql版本之后,是需要重新生成.dll文件的

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: qt5.14.2中的qsqlmysql.dll和qsqlmysqld.dll是用于连接MySQL数据库的动态链接库,其中qsqlmysql.dll是用于连接MySQL的32位库,而qsqlmysqld.dll是用于连接MySQL的64位库。 您可以在网上搜索这两个文件并下载它们存储在您的电脑上,然后将它们添加到您的QT项目中。需要注意的是,这两个文件必须与您的QT版本相匹配,否则将无法顺利运行。建议您在下载之前查看一下您的QT版本并且只下载相应版本的qsqlmysql.dll和qsqlmysqld.dll。 需要强调的是,因为这两个文件是第三方动态链接库,下载并且使用它们有一定的风险,请确保您从可信的网站进行下载并进行适当的安全检查。在下载和使用过程中,如果遇到问题您可以尝试寻求开发社区或者相关技术支持的帮助。 总之,qsqlmysql.dll和qsqlmysqld.dll是连接MySQL数据库的关键文件,如果您需要在QT项目中连接MySQL数据库,就需要确保这两个文件正确下载并配置好。 ### 回答2: 目前,Qt 5.14.2版本已经发布了,你可以从Qt官方网站上下载安装包。在Qt 5.14.2中,QSqlMySQL.dll和QSqlMySQLd.dllMySQL数据库驱动程序的动态链接库文件,用于进行MySQL数据库连接。 如果你需要下载这两个库文件,可以通过以下步骤: 1. 打开一个网盘存储文件的网站,例如百度云或者360云盘等。 2. 在搜索框中输入“qsqlmysql.dll”或“qsqlmysqld.dll”,点击搜索按钮。 3. 在搜索结果中,选择一个可靠的下载链接,并进行下载。如果需要密码,请输入密码。 4. 下载完成后,将这两个文件复制到你的Qt编译环境的bin目录下即可。 需要注意的是,下载库文件是一个风险行为,可能会产生安全问题,建议你从官网或者可靠的第三方网站进行下载。同时,下载的库文件应该与你使用的Qt版本兼容,如果不兼容可能会导致编译错误或运行时错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值