QT5关于MySQL驱动编译的说明还停留在QT4.x版本上,目录说明完全对不上。
解决该问题先从编译MySQL驱动开始:
找到<QT源码路径>\qtbase\src\sql\drivers\mysql\qsql_mysql.h,第52行将<mysql.h>改为"mysql.h",否则会报找不到mysql.h文件并导致编译失败。
cd <QT源码路径>\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\MySQLS~1.5\include" "LIBS+=C:\MySQL\MySQLS~1.5\lib\libmysql.lib" mysql.pro
nmake
编译成功,复制<QT源码路径>\qtbase\plugins\sqldrivers下的qsqlmysql.dll和qsqlmysqld.dll到<QT安装目录>\plugins\sqldrivers下或程序所在sqldrivers目录下。
如果还是报驱动未加载,复制<MySQL安装目录>\lib\libmysql.dll到<QT安装目录>\bin下即可。
注:以上MySQL路径我用了去空格写法,可用dir /x命令查看当前目录下目录的去空格目录名,也可用双斜杠写法。