Error:QSqlDatabase: QMYSQL driver not loaded (Qt+C++ 找不到mysql的驱动)

错误描述

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

场景

使用Qt Create连接数据库时抛出错误,连接代码具体如下:

    db = QSqlDatabase::addDatabase(database.DatabaseType);//MySQL数据库
    db.setHostName(database.DatabaseIP);                // 主机名
    db.setDatabaseName(database.DatabaseName);          // 数据库名
    db.setUserName(database.DatabaseUserName);          // 连接用户名
    db.setPort(database.DatabasePort);                  // 端口号
    db.setPassword(database.DatabasePassword);          // 连接密码

    qDebug() << database.DatabaseType << database.DatabaseIP
             << database.DatabaseName << database.DatabaseUserName
             <<database.DatabasePort<<database.DatabasePassword;
    if(false == db.open())
    {
       QMessageBox::warning(NULL, u8"Error",u8"账号或者密码错误!");
        exit(EXIT_FAILURE);
    }

解决方案

这个是因为缺少mysql的驱动导致的,这里我们需要将libmysql.dll文件复制到qt的安装路径下。

查找libmysql.dll

如果你本地安装过mysql,那么就省事多了。直接去mysql的安装路径下:C:\Program Files\MySQL\MySQL Server 5.6\lib。这时我的路径(安装的默认路径)。
如果你没有安装mysql,那么就需要从官网下载。然后在下载的压缩包中找到libmysql.dll文件。
在这里插入图片描述

将libmysql.dll复制到指定路径

首先需要找到Qt的安装路径,我的路径为:D:\Qt\Qt5.9.9\5.9.9。然后到图中所示路径下,可以看到有MinGW、msvc2013、msvc2015、msvc2017等,这里就是你使用的编译器。
在这里插入图片描述

使用MinGW编译

使用MinGW编译需要复制到MingGW路径下:D:\Qt\Qt5.9.9\5.9.9\mingw53_32\bin,将前面找到的libmysql.dll文件复制到这里。
在这里插入图片描述

使用哪个编译就到哪个文件中的bin目录进行复制即可。

运行

这里我们需要切换到MinWG编译器中。
在这里插入图片描述
然后就可以正常登录咯。

关于Oracle的驱动问题

Oracle需要通过cmake软件手动生成,或者使用 别人生成好的。


C++常见错误

fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler

error C2041: illegal digit ‘9‘ for base ‘8‘ | error C2059: syntax error: ‘bad suffix on number‘

Qt5Error:msvc-version.conf loaded but QMAKE_MSC_VER ins‘t set

Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“

Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林夕07

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值