关于Qt代码中连接数据库提示“driver not loaded”失败的问题

原文转载自:Windows环境下Qt缺少Mysql驱动的问题解决方案_今生有幸.~的博客-CSDN博客

下面红字部分添加了自己遇到的情况和注解。

本人的软件版本:

-- mysql:mysql  Ver 14.14 Distrib 5.5.60, for Win64 (AMD64)

-- QtCreator版本:

Qt Creator 4.11.1

Based on Qt 5.14.1 (MSVC 2017, 32 bit)

两个位数不同,但是我之前安装Qt的时候安装了mingw64位编译器,所以位数没问题。

Windows环境下Qt缺少mysql驱动的问题

问题描述:

在QT中调用Qsqldatabase库连接mysql时,提示出现如下问题:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

解决办法:

以Qt 5.12.2、Mysql 8.0为例,其中:

  • Qt路径为 D:/qt
  • Mysql路径为 D:/mysql

若Qt和Mysq的路径和版本与上述不同,则解决步骤中部分操作需进行对应修改!

检查事项:

        1. 检查本地是否已安装Mysql

        2. 检查QT与Mysql位数是否一致

        3. 检查QT是否安装源码Src 

                ① 查看D:/qt/5.12.2/路径下是否含有Src文件夹

                ② 若没有Src文件夹,点击执行D:/qt/MaintenanceTool.exe文件,下载源码Src(选择完整安装,勾选Qt对应版本下的Src)。

解决步骤

确认检查事项无误后,执行以下步骤:

        1. 进入D:/qt/5.12.2/Src/qtbase/src/plugins/sqldrivers/mysql/,点击打开mysql.pro文件:

在这里插入图片描述
        2. 对应下图,对mysql.pro文件进行如下修改,并执行(执行可能会报错,无视即可):
                ① 注释第6行
                ② 加入12、13、14行,其中D:/mysql/为Mysql路径

在这里插入图片描述

 这里要注意,如果路径中有空格,则需要写成此格式: 

LIBS += -L$$quote(C:/Program Files/MySQL/MySQL Server 5.5/lib) -llibmysql
INCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.5/include)
DEPENDPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.5/include)

否则编译会报错找不到mysql.h头文件


        3. 执行后,D盘下(qt上级目录)会出现plugins文件夹,进入D:/plugins/sqldriver/中,可以看到qsqlmysql.dll文件;在这里插入图片描述

 
        4. 将qsqlmysql.dll文件复制到D:/qt/5.12.2/mingw81_w/plugins/sqldrivers/目录下;在这里插入图片描述
       

        5. 进入D:/mysql/lib/目录下,找到libmysql.dll和libmysql.lib文件;在这里插入图片描述


        6. 将libmysql.dll和libmysql.lib文件复制到D:/qt/5.12.2/mingw81_64/bin/目录下;在这里插入图片描述


        7. 至此,问题即可解决。


补充
按照上述步骤,可以解决项目在Qt执行时出现的却少Mysql驱动的问题。

当项目进行发布时,需要将libmysql.dll和libmysql.lib文件放在项目的发布目录里,发布项目才能正常连接数据库。
————————————————

原文链接:https://blog.csdn.net/For_learning/article/details/114639832

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值