QT-MySQL QSqlDatabase: QMYSQL driver not loaded

news/2024/5/7 16:07:44/文章来源:https://blog.csdn.net/zxmyoung/article/details/128079022

使用Qt连接mysql数据库,遇到了一个问题,就是QT5.14.1版本在连接MySQL数据库时候,提示驱动加载失败,“QMYSQL driver not loaded”

编程环境:
  Qt5.14.1,编译器是MSVC2017_64,是64位的。
  mysql-8.0.30-winx64,也是64位的。
  

问题:

  使用<QSqlDatabase>库进行mysql的连接操作,出现下面的报错信息,当然别忘了在.pro文件里的QT += sql
  QSqlDatabase: QMYSQL driver not loaded
  QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

问题分析:

  根据上网查资料,还有最后自己的实践,结论就是:qt里没有和mysql的连接插件,就是缺少qsqlmysql.dll,。  有人说,只要把mysql安装目录下的lib文件夹下的libmysql.dll复制到qt的编译器的bin目录下就行了,试过了,并不能解决问题。

解决操作:
  注意: 下方出现的路径中,路径的前段部分(软件的安装位置)每个人可能都不一样,但是路径的后段部分应该是一样的,请自行修改。

  1.先去自己的qt安装目录下去看有没有mysql的插件,我的位置是:C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\plugins\sqldrivers
进去一看,没有mysql的相关插件(qsqlmysql.dll),那么就网上查找方法,有人说要利用mysql的库和qt里的Src里的mysql源码来编译出mysql的dll文件

  

方法一:

自己尝试编译,各种错误层出不穷:

先找到qt源码里的mysql的源码(PS:如果你在安装qt的时候,没有选择安装qt的源码,建议重装上),我的路径是:C:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql,双击打开mysql.pro,添加下面的三行代码:

 INCLUDEPATH += C:/mysql-8.0.30-winx64/include/ # 添加你自己的mysql安装目录下的include文件夹
LIBS += C:/mysql-8.0.30-winx64/lib/libmysql.lib # 添加你的mysql安装目录下的lib文件夹下的libmysql.lib文件
DESTDIR = ../mysql/mysqlDll    # 设置编译好的qmysql.dll放置的目录,不然你可能不知道会生成在哪。

接下来,点击qt左下角的小锤子,也就是构建按钮,出现如下的两个错误:

Cannot read C:/qtsqldrivers-config.pri: No such file or directory
Project ERROR: Library 'mysql' is not defined.

 

问题1:

  第一个问题是说没有这样的文件,看了下,的确没有这个文件,但是找到了类似的文件,我在我的文件夹:
C:\Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers下,找到了configure.pri这个文件,那么我们就把原来需要qtsqldrivers-config.pri的地方改成configure.pri试试下呗。

解决:
  在qt里的左侧栏里,双击qsqldriverbase.pri打开该文件,将第四行注释掉,也就是前面加个#号,这样:
#include($$shadowed($$PWD)/qtsqldrivers-config.pri),然后添加include(./configure.pri),保存,完成。

 

 问题2:

  Library 'mysql' is not defined,这个最好解决,你说未定义,那我就不要了呗,在qt左侧栏中双击打开mysql.pro,将第六行注释掉,这样:#QMAKE_USE += mysql,搞定!这个办法是看到一个大佬的教程,像我这样中规中矩的老实人,看到未定义第一想法肯定是找是不是头文件没找到?那这样就解决不了问题了。

那么,我们保存下上面的修改,再次点击左下角的小锤锤,没有报错,一切安好。我怀着忐忑的心情,找到之前我指定的编译好dll放置的路径,我的是:C:\plugins\sqldrivers,一看果然有qsqlmysql.dll和qsqlmysqld.dll,一个是release版,一个是debug版,这个就是qt连接mysql数据库的桥梁啊。

 

参考: 

qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 - №点缀 - 博客园 (cnblogs.com)

方法二:使用别人编译好的

Releases · thecodemonkey86/qt_mysql_driver (github.com)

然后:qsqlmysql.dll和qsqlmysqld.dll,一个是release版,一个是debug版,这个就是qt连接mysql数据库的桥梁啊,把两个文件放到C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\plugins\sqldrivers中

 

另外将自己的mysql安装目录下的lib文件夹下的libmysql.dll,复制到qt的编译器的bin目录下,我的是:
C:\Qt\Qt5.14.1\5.14.1\msvc2017_64\bin,到这里就全部结束了,再次运行自己写的程序,连接mysql。

然后重启 QTcreate,即可

参考:QT6.3.1加载Mysql驱动失败的解决方法QSqlDatabase: QMYSQL driver not loaded - 商君治国安邦 - 博客园 (cnblogs.com)

QT之Mysql驱动 - 浇筑菜鸟 - 博客园 (cnblogs.com) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_227003.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 docker 容器使用 nginx 实现反向代理统一站点入口

在微服务架构下&#xff0c;我们会部署很多微服务来实现我们的系统。每个微服务会有不同的端口。而用户在访问我们的站点时希望通过统一的端口来访问所有的服务&#xff0c;因为在很多情况下用户只能通过 80 或者 443 端口访问外界服务。 这个时候我们就可以使用反向代理来实现…

Kubernetes集群coredns缓存容器bind: address already in use错误导致集群服务无法互通解决

coredns缓存nodelocal dns cache :53: bind: address already in use错误处理起因分析问题处理问题重启Node local dns起因 事情起因是Kubernetes集群内的服务无法互相访问了 分析问题 因为Kubernetes集群内的服务都是通过service、pod的名称作为域名到coredns解析Cluster I…

[附源码]计算机毕业设计springboot贷款申请审核管理系统论文

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【简单、高效、性能好】SetFit:无需Prompts的高效小样本学习

重磅推荐专栏&#xff1a; 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers&#xff0c;轻松构建属于自己的NLP智能应用&#xff01; 1. 概要 使用预训练语言模型的小样本学习&#xff08;处理只有少量标签或没有标签的数据&#xff09;已成为比较普遍的…

Zlibrary已死,找了一个替代品,找了一个替代品免费的电子书下载平台...

大家好&#xff0c;我是鸟哥。一个半路出家的程序员。 提到Zlibrary&#xff0c;想必大家都不陌生吧。全球最大的数字图书馆&#xff0c;截止被封前共收录了591万本书&#xff0c;7751万篇文章&#xff0c;并且还在不断的增加中&#xff0c;关键是可以免费下载。 反正我是很熟悉…

智能计量系统配套设备有哪些

智能计量系统配套设备 地磅区域安装配套设备包含&#xff1a;微波定位仪、视频监控、道闸、LED显示屏、车号识别、语音对讲、音响设备、红绿灯、刷卡机箱、雷达、补光灯。 硬件设备 1、微波定位仪&#xff1a;通过微波定位仪设备&#xff0c;可以判断车辆是否完全上磅。 2、…

C++11(一)

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、列表初始化initializer_list二、声明1.auto2.decltype3.nullptr三、C11 STL中的变化1.array2.forward_list3.STL其他变化四、C关键字新功…

【三维重建补充知识-0】视差、深度概念及其转换

一、基本概念 把手指放在眼前&#xff0c;分别闭上左、右眼&#xff0c;我们会发现手指与后边物体的相对位置是不同的&#xff0c;也即两眼所识别的两幅图像之间存在视觉差异&#xff0c;我们通过“视差”这一概念来表示这种差别。 该过程也可以通过两个处于同一平面的相机来模…

C++ 之 移动构造函数

1、左值和右值 C( 包括 C) 中所有的表达式和变量要么是左值&#xff0c;要么是右值。 通俗的左值的定义就是非临时对象&#xff0c;那些可以在多条语句中使用的对象&#xff0c;表达式结束后依然存在的持久化对象&#xff0c;所有的具名变量或者对象都是左值。右值是指临时的…

设置渐变边框色

如上图所示&#xff0c;需设置渐变边框色&#xff0c;左右边框颜色固定&#xff0c;上边框从左到右开始渐变&#xff0c;下边框从右到左开始渐变。 思考了很久&#xff0c;如果看作是一个div&#xff0c;则需要用到 border-image属性设置渐变色。也可以看作是两个div&#xff0…

CISAW信息安全保障人员认证考试难吗?

CISAW信息安全保障人员认证&#xff0c;作为信息安全行业相当热门的证书之一&#xff0c;其持证人数已超50%&#xff0c;在信息安全行业内占有一席之地&#xff0c;很多报考人都比较关心CISAW考试难不难&#xff1f;能通过吗&#xff1f;那接下来说一说CISAW证书考不好考&#…

常见的网络协议

目录 一、TCP/IP协议簇 二、网络设备与五层模型对应关系&#xff1a; 三、常用网络协议总结&#xff08;TCP/IP协议簇&#xff09; 四、应用层服务协议 五、传输层协议组 TCP_UDP 六、网络层协议 IP_ICMP_ARP 七、物理层协议 MAC子层协议 一、TCP/IP协议簇 OSI七层模型…

IBM MQ 故障诊断(一)

说明&#xff1a;本文主要是针对运维人员的手册。前面部分主要是应用三板斧的方式&#xff0c;后面的步骤可能会发散和具体深入一些。不过也不是严格的划分&#xff0c;读者就当看一遍杂文的方式来看待此文吧。 一&#xff0c;队列管理器的启停 QMGR的启停是故障诊断中遇到最…

[附源码]SSM计算机毕业设计线上图书销售管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

用huggingface.transformers在文本分类任务(单任务和多任务场景下)上微调预训练模型

诸神缄默不语-个人CSDN博文目录 transformers官方文档&#xff1a;https://huggingface.co/docs/transformers/index AutoModel文档&#xff1a;https://huggingface.co/docs/transformers/v4.23.1/en/model_doc/auto#transformers.AutoModel AutoTokenizer文档&#xff1a;ht…

Java#数据结构----2

目录 一.数据结构(树) 二.二叉树(任意节点的度<2) 二叉查找树又称为二叉排序树/二叉搜索树 平衡二叉树 平衡二叉树的旋转机制 三.红黑树 一.数据结构(树) 基本概念: 度: 每一个节点的子节点数量 树高: 树的总层数 根节点: 最顶层的节点 左子节点: 左下方的节点 右子节…

优维低代码:Redirect 路由重定向If 条件渲染

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 连载…

2022年超实用的推特营销策略

Twitter推广需知的13条基础知识&#xff1a; 1、Twitter日活用户达1亿 2、Twitter月活用户3.25亿 3、Twitter广告价格比其他渠道便宜33% 4、每天产生5亿条推文 5、Twitter推广能够提高29%的线下交易 6、37%的Twitter用户在18到29岁之间 7、86%的带链接推文会比普通推文效…

Cerebral Cortex:调节γ振荡可以促进大脑连接性而改善认知障碍

摘要 老年痴呆症造成了巨大的全球经济负担&#xff0c;但目前还缺乏有效的治疗方法。最近的研究表明&#xff0c;脑电活动的伽马波段波&#xff0c;特别是40赫兹振荡&#xff0c;与高阶认知功能密切相关&#xff0c;可以激活小胶质细胞清除淀粉样蛋白&#xff0d;β沉积。本研究…

Flowable 中的网关、流程变量以及历史流程

今天这篇文章&#xff0c;松哥和大家梳理一下 Flowable 中的网关、流程变量以及历史流程的玩法。 1. 三大网关 Flowable 中网关类型其实也不少&#xff0c;常见的主要有三种类型&#xff0c;分别是&#xff1a; 排他网关并行网关包容网关 这三个里边最常用的当然就是排他网关…