qt5.3.2 连接mysql数据库(5.7.32),虽然qt sqldrivers里面有自带的qsqlmysql.dll 和qsqlmysqld.dll驱动,但是mysql和qt需要配套使用,qt自带的mysql驱动不一定是你是要mysql对应的版本,所以一般都需要自己重新编译。
首先将mysql安装目录下的libmysql.dll拷贝到qt的xxxx/Qt5.3.2\5.3\mingw482_32\bin目录下,测试qt连接myqsl如果没有报错,那么恭喜你可以直接使用,否则需要自己重新编译mysql驱动。
qt mysql驱动编译:
1. 下载qt版本对应的源码,如果安装的时候有安装源码就不需要了,没有安装源码的,自己上qt官网下载对应的源码。
qt5.3.2源码地址:http://download.qt.io/archive/qt/5.3/5.3.2/single/
2. 使用creator打开源码中的mysql.pro工程:
3. 修改mysql.pro文件:
添加mysql的头文件和链接mysql的库文件,修改如下:
注意:mysql的安装目录最好不要带空格 有时候会加载不到,还有mysql如果安装64位的编译会报一大堆错误,卸载重装32位。
TARGET = qsqlmysql
# 添加mysql 头文件和lib
INCLUDEPATH +="D:/workSoft/MySQL/MySQLServer5.7/include"
LIBS +="D:/workSoft/MySQL/MySQLServer5.7/lib/libmysql.lib"
SOURCES = main.cpp
OTHER_FILES += mysql.json
include(../../../sql/drivers/mysql/qsql_mysql.pri)
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
# 设置输出目录(有的时候不好找,索性自己设置输出目录)
DESTDIR = ../mysql/lib/
编译后在mysql工程下有一个lib目录,里面有四个文件,如下:
4. 把编译好的mysql驱动,上面说的四个文件拷贝到qt对应的插件目录下替换原来的。
我的路面:Qt5.3.2\5.3\mingw482_32\plugins\sqldrivers
5. 把mysql安装目录下lib文件夹下面的libmysql.dll文件拷贝到qt的bin目录下
4和5 两个步骤很关键,缺一不可,千万不能拷贝到错误的目录下,否则也是会有问题的。
仅供学习参考,谢谢!by Dione