Qt6.5.2编译MySql驱动

写在前面:大神编译好的现成的驱动:https://github.com/thecodemonkey86/qt_mysql_driver

编译MySQL驱动

Qt5.13版本后不包含MySQL的驱动插件,需要自己手动编译。

而对于不同的编译套件,又需要分别编译,这里将阐述详细过程~

在编译MySQL驱动之前,请确保Qt的Source源码已经安装好了~

  • 在Qt安装目录找到Qt的插件源码目录

X:xxx\Qt\Qt6\6.2.4\Src\qtbase\src\plugins\sqldrivers

 

进入sqldrivers目录之后,用QtCreator打开,套件选择MinGW 64-bit,等待配置完成,构建类型选择Release

点击左边工具菜单的项目,勾上mysql,点击编译(记得先把你的MySQL配置到环境变量哟)

 如果编译没有问题,将会在同级目录生成build目录,进入找到(plugins/sqldrivers)编译好的驱动qsqlmysql.dll,把它拷贝到MinGw64套件的驱动目录。

找到并复制

 粘贴进套件的sqldrivers目录

 然后点击编译,会在Qt安装目录的盘符根目录(我这里是在D盘)生成plugins文件夹(D:\plugins),进入找到qsqlmysql.dll,复制到Qt对应的编译套件目录中的plugins/sqldrivers目录中

测试是否配置成功

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setUserName("root");
    db.setPassword("12345678");
    db.setDatabaseName("test");

    if(!db.open())
    {
         qInfo()<<"数据库打开失败"<<db.lastError().text();

    }
    else
    {
        qInfo()<<"数据库打开成功";
    }

    return a.exec();
}

MySQL客户端程序部署

         

如果你的程序使用了MySQL数据库,那么在部署时,需要将MySQL的依赖,一并拷贝到exe同级目录。

  • 如果没有拷贝libmysql.dll动态库,会出现如下错误

明明显示了有QMYSQL驱动,却提示驱动没有加载,在MySQL安装目录的lib目录把libmysql.dll拷贝到exe同级目录试试。

咦!怎么和刚刚的错误信息一样,加了和没加一样,这是因为还需要一些库,这些库可以在MySQL的安装目录的bin目录里面找到

  • libcrypto-1_1-x64.dll 加密解密库

  • libssl-1_1-x64.dll 安全传输库

找到之后,同样拷贝进去,在双击运行即可!

最直接、最有效、最方便的做法:

下载压缩包文章顶部

将相应的套件的MySql驱动放在exe的同级目录下:

即可大功告成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值