weiguoxin 2019-11-30
开始之前,先将编译器的路径添加到系统环境变量。
我的QT所以sql驱动是在下面这个目录中(大家在自己Qt的安装目录找到对应的文件夹就行,下面的路径也是如此),
E:\qt\5.13.2\mingw73_64\plugins\sqldrivers
MySQL的驱动文件是qsqlmysql.dll和qsqlmysqld.dll,带d的是debug版本,和下面的图片一样;
打开文件夹下面的 mysql.pro,注释掉QMAKE_USE += mysql,如下
//QMAKE_USE += mysql
另外编译mysql驱动还需要mysql的头文件和库,因此在文件末尾加上以下代码,同样是找到自己的路径
INCLUDEPATH += "E:/Program Files/MySQL/include" LIBS += "E:/Program Files/MySQL/lib/libmysql.lib"
接下来就可以开始编译了。
可以使用QT自带的命令行程序或者git bash,不要用cmd,它不能使用qmake,要用其他代替。
首先要进入以下文件夹:
E:\qt\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql
在当前目录下,输入
qmake
如果报了下面的错:
No such file or directory
是因为没有qtsqldrivers-config.pri文件,那么可以返回上一级,执行qmake,如下:
cd ../ qmake
再返回到mysql目录中,qtsqldrivers-config.pri出现了。
然后继续
qmake mingw32-make mingw32-make release-install mingw32-make debug-install
这四个命令完成后,驱动已经安装好了。
最后,把E:\Program Files\MySQL\lib 中的 libmysql.lib和libmysql.dll文件复制到 E:\qt\5.13.2\mingw73_64\bin 即可。
因为MySQL是属于Oracle的,所以Qt库里面没有自带MySQL驱动,但是源码里面提供了编译MySQL驱动的工程文件,所以,就要用这个工程文件自己动手编译MySQLl驱动,编译前需要2个前提条件: