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
OTHER_FILES +
= mysql.json
PLUGIN_CLASS_NAME
= QMYSQLDriverPlugin
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