QT5.13编译mysql5.7 连接MySQL数据库
QT没有自带的mysql库,需要自己编译
报错内容:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
解决方法:
第一步: 打开QT的mysql项目
打开QT的mysql项目重新编译mysql,需要编译的源码的位置在
Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro,打开项目。
注意:重新编译的时候需要根据目标项目所使用的编译器,选择合适的编译器编译mysql,比如目标项目是用msvc的,那么编译mysql也需要用msvc编译。
第二步: .pro 文件中要修改的内容,然后编译
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#修改-------------------------------------
#需要把下面这句话注释掉
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
#修改-------------------------------------
#下面是根据实际mysql路径添加的内容
LIBS += -LD:/mysql-5.7.28-winx64/lib -llibmysql
INCLUDEPATH += D:/mysql-5.7.28-winx64/include
DEPENDPATH += D:/mysql-5.7.28-winx64/include
include(../qsqldriverbase.pri)
注意:LIBS、INCLUDEPATH、DEPENDPATH中的路径不能有任何的空格,否则会报错。
第三步:得到编译后的文件
在D盘会生成plugins文件夹,把里面的qsqlmysql.dll和qsqlmysqld.dll复制到
D:\Qt\Qt5.13.1\5.13.1\msvc2017_64\plugins\sqldrivers目录下
然后将mysql目录下的lib目录下的libmysql.dll文件拷贝到
D:\Qt\Qt5.13.1\5.13.1\msvc2017_64\bin目录下
第四步:接下来就可以运行自己的项目了,可以连接mysql数据库了
联系方式:
微信:13586801014