天天看点

QT5.4下编译MySQL数据库驱动,并建立连接

在用QT5.4连接MySQL数据库时,会出现以下的错误:

QSqlDatabase: QMYSQL driver not loaded  
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC 
           

因为QT5以上的版本都自带了MySQL驱动,如下:

QT5.4下编译MySQL数据库驱动,并建立连接

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

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

解压Qt5.4.0的zip源码到E:\Qt\qt-everywhere-opensource-src-5.4.0。

PS:数据库的选择:不建议使用Mysql5.5以上版本,目前5.5以上只有5.6, 因为5.6版本不能自定义  MysqlServer 的安装位置, 而安装位置必须是没有空格的.虽然5.6能够自定义文件夹,但文件夹下面的文件夹是有空格的,5.5可以完全自定义。

打开MinGW命令行工具:

QT5.4下编译MySQL数据库驱动,并建立连接

输入以下命令进入文件夹:

cd E:\qt-everywhere-opensource-src-5.4.0\qtbase\src\plugins\sqldrivers\mysql
           
QT5.4下编译MySQL数据库驱动,并建立连接

接下来生成makefile,继续输入以下命令:

qmake "INCLUDEPATH+=E:\MySQL5.5\include" "LIBS+=E:\MySQL5.5\lib\libmysql.lib" -o Makefile mysql.pro  
           

然后进行编译:

mingw32-make
           

以上命令都是在MinGW命令行工具下完成。

编译完成后,将E:\qt-everywhere-opensource-src-5.4.0\qtbase\plugins\sqldrivers文件夹下的qsqlmysql.dll和qsqlmysqld.dll复制到C:\Qt\Qt5.4.0\5.4\mingw491_32\plugins\sqldrivers

QT5.4下编译MySQL数据库驱动,并建立连接

最后一步,将E:\MySQL5.5\lib目录下的libmysql.dll复制到C:\Windows下。

一切大功告成,可以开始试着用QT连接数据库啦~