QT5安装mysql驱动连接服务器数据库MYSQL
创始人
2024-09-25 15:22:29
0

qt安装mysql驱动

简介

一、下载qt源码

二、下载mysql起始文件

三、编译mysql得到驱动文件

四、copy动态库文件

五、安装完成进行测试

简介

最近的工作需要使用mysql连接服务器数据库,但我发现我的qt5.15.2没有mysql的驱动

image

对于qt是不是有mysql驱动,可以看下这个路径下面是不是有qsqlmysql的dll

image

此时我们需要有mysql的起始文件、qtsource源码

一、下载qt源码

先去把source下载,qc打开路径

image

用这个qt maintenance tool

image

打开后登录一下,选择添加或移除组件

image

把source点上,然后更新,就会下载qt源码了

image

二、下载mysql起始文件

网址:https://github.com/thecodemonkey86/qt_mysql_driver?tab=readme-ov-file

用这个博主的,就不用安装mysql了

image

这三个下完,解压,是个组合的压缩包 点1就把123都解压到一个文件夹了

可以看到有个include和lib

image

三、编译mysql得到驱动文件

这会源码应该下完了,到达这个qt安装路径:…\qt6\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql,打开mysql.pro

image

image

更改pro文件,如下 路径就按照你解压的文件,最好不要带中文,把QMAKE_USE注释掉

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的lib路径 LIBS += -L $$quote(D:\008_LY_HOST_\libmysql_8.0.29\lib) -llibmysql # !!mysql的include路径 INCLUDEPATH += $$quote(D:\008_LY_HOST_\libmysql_8.0.29\include) # !!mysql的include路径 DEPENDPATH += $$quote(D:\008_LY_HOST_\libmysql_8.0.29\include)   include(../qsqldriverbase.pri) 

写完运行一下,报什么错可以不管,只要进度条走到头就好了

image

然后在这个路径下:…\qt6\5.15.2\mingw81_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers,就会出现这三个文件,红色字体跟你的编译器有关

image

把这两个copy到…\qt6\5.15.2\mingw81_64\plugins\sqldrivers

image

如此

image

驱动就此完成!

注意每一个编译器对于一个驱动,并不是说我64位的安装了,32就能用,32位的也要照此操作一次才行。

每一个驱动对应到qt编译器的版本

四、copy动态库文件

把刚刚解压的文件lib下的libmysql.dll动态库文件copy到…\qt6\5.15.2\mingw81_64\bin

image

image

五、安装完成进行测试

新建一个qt工程,pro文件在gui后面加sql

image

mian函数抄这个

#include  #include  #include  #include  #include   int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      // 创建数据库连接     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");     db.setHostName("公网ip");     db.setPort(3306);     db.setDatabaseName("数据库名字"); // 替换为你的数据库名     db.setUserName("数据库用户名");     db.setPassword("密码");      // 尝试打开数据库     if (db.open()) {         qDebug() << "Connection successful!";     } else {         qDebug() << "Connection failed: " << db.lastError().text();     }      return a.exec(); }  

运行一下

image

连接成功不报错,安装成功!

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...