Qt安装在D:\Qt目录,Qt 5.4.1下连接MySQL数据库,发现会出现以下错误
QSqlDatabase: QMYSQL driver not loaded到D:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers目录下看看,发现是有mysql驱动的
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC
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数据库了。