【QT日记】QT MYSQL 链接方法 QMYSQL driver not loaded解决方法 qt5.13 mysql5.7
相信很多第一次在QT下链接MYSQL的朋友都会遇到这个问题:
读取不到QMYSQL的驱动,QSqlDatabase支持的驱动有:QSQLITE QODBC QODBC3 QPSQL QPSQL7 【就是没有QMYSQL】
那怎么解决呢?如果直接百度、或者在CSDN搜,会有一大堆教程,理论是基本一致的,但是实际的操作过程各不相同。通过我多次的尝试,发现我搜到的教程90%是行不通的。。。结合了多位博主及b站的教程,我成功将QT与MYSQL连接。感谢各位前辈的分享!才有了我这篇博文。
一、概述
QT链接MYSQL的理论过程可参见B站up主甜筒味の冰棍的经验分享视频【经验分享】Qt连接Mysql 01:36-02:18
我是用的QT及MYSQL版本分别为:5.13.0及5.7.30
下载链接:
QT
MYSQL
在很多教程中看到,QT的编译器和MYSQL的位数要相同,也有的说要32位的。我装的QT和MYSQL都是64位的,也就按64位的来
二、QT的安装
主要步骤如上,没写出来的就是直接下一步,或者是accepted之后下一步。
三、MYSQL的安装
选Developer Default(根据自己需要)。
基本是有execute就点execute,没有execute就下一步。execute后弹窗都是accepted+下一步。
设置好密码,一般就设置成123456就行了,方便记忆。【这个密码要记住,登入MYSQL都要用到的】
主要步骤如上,没写出来的就是直接Next,或者是Finish,或者是Execute后Next。
之后我习惯用Navicat进行数据库的管理,安装过程略,有需要的朋友可以直接网上搜教程。
四、QT链接MYSQL
基本就是缺少驱动MYSQL相关的libmysql.dll 、qsqlmysql.dll,编译一个给他就行了。理论方面也不多说了。按照以下的步骤走亲测是可以的。
0、开始之前将QT64位编译器和MYSQL的路径都0加入系统环境变量的path。
右键【此电脑】(win7就是【计算机】)---->【属性】---->【高级系统配置】---->【环境变量】---->双击系统变量里面的path,将对应路径添加进去
C:\Qt\Qt5.13.0\5.13.0\mingw73_64\bin
C:\Qt\Qt5.13.0\Tools\mingw730_64\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
1、将C:\Program Files\MySQL\MySQL Server 5.7\lib
路径下的libmysql.dll文件复制至C:\Qt\Qt5.13.0\5.13.0\mingw73_64\bin
2、打开C:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql路径下的mysql.pro
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
将第六行的QMAKE_USE += mysql
注释掉,修改为#QMAKE_USE += mysql
(前面加#)
加入mysql安装目录下的相关路径,因为有空格所以加入了$$quote()
win32:LIBS += -L$$quote(C:/Program Files/MySQL/MySQL Server 5.7/lib) -llibmysqlINCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.7/include)DEPENDPATH += $$quote(C:/Program Files/MySQL/MySQL Server 5.7/include)
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
将qsqldriverbase下的qsqldriverbase.pri中的第4行include($$shadowed($$PWD)/qtsqldrivers-config.pri)
注释掉,修改为#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
(前面加#)
然后在下面加入一行include(./configure.pri)
保存所有后退出
3、按"Win+X"再按A,启动Windows PowerShell (管理员模式)
通过命令行定位到sqldrivers文件夹
cd C:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
qmake一下
qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Server 5.7/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Server 5.7/lib"
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
确认MySql…后是yes,再依次输入
mingw32-make
mingw32-make install
会哗啦啦得跑出一大堆东西,别怕,正常的,因为是编译了所有数据库的驱动。
至此,MYSQL的驱动编译就完成了
在C:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
下就能看到MYSQL的驱动文件了。
此处以未修改安装位置的路径为例,如果修改了安装路径,请自行修改为对应的路径。
五、测试
//连接数据库QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("127.0.0.1");//localhostdb.setDatabaseName("mysql");db.setUserName("root");db.setPassword("123456");if(db.open()){qDebug()<<"QT successfully connected to MYSQL"<<endl;db.close();}
链接数据库的代码如上,连接成功了打印日志QT successfully connected to MYSQL。
另外记得在.pro里面加入QT += sql
当然这段代码不是直接复制进去就行的啦。小白的话还是建议参考其他的QT连接MYSQL的教程。
完结撒花,再次感谢前辈们的辛勤付出。
参考文档/视频:
https://www.cnblogs.com/dz-study/p/12382837.html
https://zhuanlan.zhihu.com/p/100669223
https://www.bilibili.com/video/BV1Jk4y167tt?from=search&seid=1642261007335545283
【QT日记】QT MYSQL 链接方法 QMYSQL driver not loaded解决方法 qt5.13 mysql5.7相关推荐
- Qt QMYSQL driver not loaded 解决办法
在做开发的时候用到了mysql, 用以下代码测试是否可以用 mysql qDebug ( ) < < QSqlDatabase : : drivers ( ) ; q ...
- 连接driver not loaded解决方法
我想你和我一样,照着终于编译好了qt的oracle驱动QOCI,连接成功!!! 一文编译了QOCI,我目前遇到下面错误:(代码我直接用原文的) QSqlDatabase: QOCI driver no ...
- Qt C++连接MySQL教程,解决QSqlDatabase:QMySQL driver not loaded
文章目录 你要做的 背景知识 参考文章 你要做的 首先确定好自己的Qt版本是32位还是64位,MySql是32位还是64位,防止后续操作出现问题,这里我Qt是32位,MySQL是64位,所以我去官网下 ...
- Qt MySQL报“QMYSQL driver not loaded driver not loaded“,终极解决办法
qt连接mysql数据库时,会报QMYSQL driver not loaded,实际原因 1.qt没有安装mysql对应驱动 qt安装mysql驱动 2.qt安装驱动libmyql.dll与qsql ...
- linux中QT提示QMYSQL driver not loaded
如果在Linux系统中使用QT编写的程序提示"QMYSQL driver not loaded",这可能是因为QT缺少相应的MySQL驱动程序.要解决这个问题,你需要安装QT的My ...
- VS+QT编译出现QMYSQL driver not loaded
身为JAVA开发工程师,项目需求开整QT做前端.遇到QMYSQL driver not loaded问题.感觉版本的问题是遇到开发编译过程中最多的.再此做以记录>> 但凡出现:QMYSQL ...
- Linux(Ubuntu 19.10)下 Qt5 连接 MySQL(QMYSQL driver not loaded)
Linux(Ubuntu 19.10)下 Qt5 连接 MySQL 安装好 MySQL 和 Qt Qt 连接 MySQL 的代码 QSqlDatabase d=QSqlDatabase::addDat ...
- CMake添加QT库是出现Policy CMP0020 is not set“警告解决方法
CMake添加QT库是出现"Policy CMP0020 is not set"警告解决方法 查阅官方文档https://cmake.org/cmake/help/v3.0/pol ...
- 关于 编译QT项目时报错: error: cannot find -lGL 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/78260169 红胖子(红模仿)的博文大全:开发技术集合 ...
最新文章
- linux 读取大量图片 内存,10 张图帮你搞定 TensorFlow 数据读取机制
- 使用DDMS抓取安卓APP的奔溃日志
- JAVA多线程机制之死锁
- useradd -g mysql mysql_Linux —— useradd -g mysql mysql解析及useradd详解
- Hibernate——Query查询
- Linux解决无法启动网络
- 网络编程+Python
- linux openh264 编译,在Linux下为Android构建openh264
- thinkPHP仿QQ飞车手游模拟抽奖源码
- 解决libc.so.6: version `GLIBC_2.14' not found问题
- 使用CLion配置第一个FLTK界面
- ThinkPHP—URL的访问以及各种方法的操作
- iStack详解(二)——堆叠连接方式堆叠拓扑变动处理
- Spring设置定时器配置
- IDEA给项目添加lib/jar
- 改变TMQQ2009版消息提示音
- Ecshop二次开发
- Python实战:利用Uplift模型识别营销敏感用户提升转化率(一)
- SQL语句中,为什么where子句不能使用列别名,而order by却可以?
- tomcat 中部署的应用响应json数据乱码解决办法
热门文章
- 身份证信息登记,涉及base64和blob二进制之间的转换
- 如何通过学校系统漏洞注册到 @edu.cn 邮箱账号?...
- CGAL WLOP(加权局部最优投影)简化算法
- Github下载慢的解决办法
- Collectors常用方法
- 解决DevTools failed to load SourceMap Could not load content for .js.map HTTP error code 404 问题
- 华为云 DevCloud 部署云服务器
- 桌面云组件介绍与安装
- 软考高级信息系统项目管理(高项)原创论文——整体管理(2)
- 《算法撕裂者》04 - 垃圾收集算法详解