Qt 数据库驱动未装载MYSQL

本文讲述了如何在Qt5.14.2环境中使用MinGW7.332位编译器解决与MySQL连接时的QMYSQLDriver加载问题,涉及修改配置文件、编译和链接步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、第一部分

0.Qt 连接mysql数据库时报错:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

QT连接代码:

bool createMysqlConn()
{
    QSqlDatabase sqldb = QSqlDatabase::addDatabase("QMYSQL");
    sqldb.setHostName("localhost");
    sqldb.setDatabaseName("emarket");
    sqldb.setUserName("root");
    sqldb.setPassword("123456");

    return sqldb.open();
}

1.我的环境:Qt 5.14.2 、MinGW 7.3  32 位(mingw73_32)、mysql-connector-c-6.1.3-win32

mysql-connector-c-6.1.3-win32

Qt源码我安装Qt时选中了Source!

二、第二部分

1.修改文件mysql.pri,..\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro

2.修改文件qsqldriverbase.pri,..\Src\qtbase\src\plugins\sqldrivers\qsqldriverbase.pri

将第四行注释,添加include(./configure.pri)

3.在..\Src\qtbase\src\plugins\sqldrivers\mysql目录执行cmd(mingw73_32的工具链已被我加入path)

执行qmake,将生成makefile 文件

4.执行mingw32-make,进行编译

编译完成后,将在mysqlDll目录下生成 qsqlmysql.dll文件。

5.可以执行mingw32-make install或手动将qsqlmysql.dll文件 拷贝到 mingw73_32/plugins/sqldrivers下,(qsqlmysql.dll属于是qt中与mysql client连接部分的代码,光有它还不能连接mysql服务器,即3306端口)

6.将mysql-connector-c-6.1.3-win32 下的libmysql.dll 文件拷贝到mingw73_32/bin下,(连接mysql的代码始终在libmysql.dll中,所以这一步是必须的)

7.完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值