解决 QMYSQL driver not loaded 问题 QT5.13.2 连接数据库MySQL Server8.0

这篇博客对我有很大帮助,不过和我实际解决方式略有区别

第一步,检查C:\Qt\Qt5.13.2\5.13.2\mingw73_64\plugins\sqldrivers目录下是否有qsqlmysql.dll、qsqlmysqld.dll两个动态库,没有的话需要使用源码编译(如果安装时没有源码,建议重装,也可以只下载对应源码包)

重装选项:

安装选项

源码包下载地址:qtbase-opensource-src-5.9.0.zip

使用QT打开C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql下的工程,修改mysql.pro文件编译选项

1、注释掉#QMAKE_USE += mysql

2、根据自己的mysql安装路径,增加包含

LIBS += -L"C:/Program Files/MySQL/MySQL Server 8.0/lib" -llibmysql
INCLUDEPATH += "C:/Program Files/MySQL/MySQL Server 8.0/include/"

3、将C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\qsqldriverbase.pri文件中

注释掉:# include($$shadowed($$PWD)/qtsqldrivers-config.pri)
添加:include(./configure.pri)

编译通过,在C:\plugins\sqldrivers文件夹下生成库文件,将其拷贝到C:\Qt\Qt5.13.2\5.13.2\mingw73_64\plugins\sqldrivers文件夹下

4、将C:\Program Files\MySQL\MySQL Server 8.0\bin文件夹下的libcrypto-1_1-x64.dll、libssl-1_1-x64.dll动态库拷贝到C:\Qt\Qt5.13.2\5.13.2\mingw73_64\bin文件夹下。

完成以上操作,执行测试链接工程:

#include <QCoreApplication>
#include <QtSql>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    //建立连接
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setPort(3306);
    db.setDatabaseName("mysql");
    db.setUserName("root");
    db.setPassword("123456");
    bool ok = db.open();
    if(ok)  qDebug()<<"OK";
    else qDebug()<<"False";

    return a.exec();
}

输出OK,链接成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值