Qt 5.4.1下编译MySQL驱动,连接MySQL数据库

时间:2021-01-15 04:54:58

Qt安装在D:\Qt目录,Qt 5.4.1下连接MySQL数据库,发现会出现以下错误

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC
到D:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers目录下看看,发现是有mysql驱动的

Qt 5.4.1下编译MySQL驱动,连接MySQL数据库
Google了一下,据说是该驱动所满足的依赖性,不满足,需要重新编译,那就重新编译吧。

到mysql官网下载5.6版的32位zip文件,解压缩到D:\MySQL-Win32(一定要是32位的mysql,否则编译不通过)。

解压Qt5.4.1的zip源码到G:\Qt\qt-everywhere-opensource-src-5.4.1。

打开MinGW的命令行工具

Qt 5.4.1下编译MySQL驱动,连接MySQL数据库

切换到Qt源码目录

cd G:\Qt\qt-everywhere-opensource-src-5.4.1\qtbase\src\plugins\sqldrivers\mysql\

生成makefile

qmake "INCLUDEPATH+=D:\MySQL-Win32\include" "LIBS+=D:\MySQL-Win32\lib\libmysql.lib" -o Makefile mysql.pro
编译

mingw32-make

成功编译后将会在G:\Qt\qt-everywhere-opensource-src-5.4.1\qtbase\plugins\sqldrivers生成mysql的驱动文件。

Qt 5.4.1下编译MySQL驱动,连接MySQL数据库

复制qsqlmysql.dll和qsqlmysqld.dll到D:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers替换原来的文件。

再把D:\MySQL-Win32\lib\libmysql.dll复制到C:\Windows目录下。


这样Qt就可以连接MySQL数据库了。