文章目录
前言
提示:参考网上各种安装教程均失败 ,下面来一个完整qmysql驱动编译,并qt连接数据库操作成功!
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装QT,MYSQL
这里就不赘述了,其他教程足够用
QT:5.12.1
MYSQL:9.1
二、生成qsqlmysql.dll
1.配置mysql.pro
cd D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql
下面有mysql.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
include(../qsqldriverbase.pri)
INCLUDEPATH += "D:/MySQL/include"
LIBS += "D:/MySQL/lib/libmysql.lib"
DEPENDPATH += "D:/MySQL/include"
DESTDIR = ../mysql/mysqlDll
完全可以不要DESTDIR = …/mysql/mysqlDll 这一行,生成的不会到这个地方!会在D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers下面
2.修改qsqldriverbase.pri
在目录下D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers
QT = core core-private sql-private
# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/configure.pri) #注释掉 主要是加下面一行
include(./configure.pri) #重点
PLUGIN_TYPE = sqldrivers
load(qt_plugin)
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
3.管理员身份运行x64 Native Tools Command Prompt for VS 2022
进到D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql
D:\Qt\Qt5.12.1\5.12.1\mingw73_64\bin\qmake "INCLUDEPATH+=D:/MySQL/include" "LIBS+=D:/MySQL/lib/libmysql.lib" mysql.pro
执行
make debug
执行
nmake release
重点!!!!
上面执行完毕之后,参考其他教程将生成的qsqlmysql.dll文件复制到D:\Qt\Qt5.12.1\5.12.1\mingw73_64\plugins\sqldrivers 然而执行代码仍会报错driver not loaded
重点这里完全不用复制:参考QT官网就会发现执行下面这句话进到D:\Qt\Qt5.12.1\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql
nmake install
此刻 自己将该复制的文件复制过去 了!!!!
成功执行代码
终于成功!!!!!
标签:QT,WINDOWS,MYSQL,5.12,mysql,sqldrivers,plugins,Qt5.12 From: https://blog.csdn.net/jingjing_97/article/details/143599654