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

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驱动的

技术分享
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源码目录

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的驱动文件。

技术分享

复制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数据库了。





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。