本文主要是介绍Qt 数据库驱动未装载MYSQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、第一部分
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.完成
这篇关于Qt 数据库驱动未装载MYSQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!