qt+mysql开发提示driver not loaded driver not loaded

1.首选确认开发环境下mysql驱动dll文件已复制到qt运行目录:

我使用的qt5.9.9+mingw53_32位的开发环境,安装目录在C:\Qt\Qt5.9.9\5.9.9\mingw53_32

此时下载mysql 32位对应的驱动文件libmysql.dll,此dll文件支持连接MySQL版本5.x-8.x,这里的MySQL不区分32位还是64位,也不需要本机安装MySQL数据库

下载链接:https://download.csdn.net/download/chenbo163/33238279

把dll文件放到C:\Qt\Qt5.9.9\5.9.9\mingw53_32\bin目录下,可以把bin目录添加到系统path下,新建一个qt+mysql项目测试运行没有问题:

2.如果提示driver not loaded driver not loaded,那就是你的qt 开发环境缺少sqldrivers插件,查看qt目录下是否有这个目录

C:\Qt\Qt5.9.9\5.9.9\mingw53_32\plugins\sqldrivers

如果没有上面的目录或者目录下没有qsqlmysql.dll这个文件,则需要重新安装带src的QT开发环境,就是安装时选择安装src,然后手动编译mysql.pro这个项目,生成qsqlmysql.dll,并将生成的dll复制到上面的插件目录下面,具体怎么编译,网上一大堆教程,这里就不赘叙了。

重点来了本机测试没问题,然后就是发布release版,在没有安装qt环境的电脑上运行,提示

This application failed to start because it could not find or load the Qt platform plugin "windows"

缺少平台运行所需文件

这时将C:\Qt\Qt5.9.9\5.9.9\mingw53_32\plugins\下的platforms目录复制到exe可执行目录下就行,保留qwindows.dll文件,其他的dll可以删除,然后运行提示driver not loaded driver not loaded想着是缺少libmysql.dll这个文件,把这个dll复制到exe目录,依然提示driver not loaded driver not loaded,这就头大了,总不能把客户电脑上也安装上qt开发环境吧?

我明明把libmysql驱动复制到当前目录了,可还是提示驱动没加载,然后使用

QSqlDatabase::drivers();输出支持的数据库驱动,发现为空,那么问题找到了,实际上qt插件目录下的qsqlmysql.dll文件才是真的驱动文件

把qt插件下的C:\Qt\Qt5.9.9\5.9.9\mingw53_32\plugins\sqldrivers目录也复制到exe下面,运行成功!

至此,可以在非qt环境电脑上运行开发的程序了!

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值