QT-MySQL QSqlDatabase: QMYSQL driver not loaded

news2024/11/25 11:07:02

使用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.coloradmin.cn/o/42977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

场馆系统的数据分析功能怎么样?

在大数据时代&#xff0c;对人们的消费数据进行分析&#xff0c;对企业发展至关重要。对于正在向智能化靠近的运动球馆来说&#xff0c;收集数据、分析数据来了解和改善场馆的运营已经成了一个新的趋势。 场馆系统组建了数据管理分析模块&#xff0c;让球馆通过信息化管理&…

【IoT】如何快速了解一个行业?如何做市场洞察?

如果要做一个新的事情&#xff0c;往往我们也不知道未来会怎么样。 我们准备去做一个事情之前一般都是会有个假设&#xff0c;比方说我们学习一项新技术&#xff0c;我们假设学习了以后能够给未来的生活带来提升&#xff0c;能给自己创造更多的机会&#xff0c;这就是个假设。 …

C++求解汉明距离

目录汉明距离介绍汉明距离应用解法1&#xff1a;Brian Kernighan算法解法2解法3汉明距离介绍 leetcode 461 汉明距离&#xff0c;难度&#xff1a;简单 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回…

[附源码]计算机毕业设计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…

APS软件的技术指标与特色

企业可能经常会因为无法掌握生产制造现场的实际产能状况及物料进货状况&#xff0c;导致物料及产能规划与现场详细作业排程难度增大&#xff0c;从而采取有单就接的接单政策与粗估产能的生产排程方式。这种方式就可能导致企业的生产状况频发&#xff1a;在提高对顾客的服务水平…

【Android App】实战项目之实现你问我答的智能语音机器人(超详细 附源码和演示视频)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 一、需求描述 想必大家都见过商场里的智能语音机器人&#xff0c;你对它提问时它可以自动回答你的问题&#xff0c;接下来我们也实现这样一个机器人&#xff0c;它依靠语音技术完成问询服务 基本功能如下 1&#xff1a;接收人们…

锦江酒店(中国区):在变革中拥抱未来 实现高质量发展

过去十年&#xff0c;中国酒店业经历了规模急剧扩张的黄金时期。后疫情时代&#xff0c;酒店行业正在发生深刻变革。 2022年&#xff0c;面对诸多外部不确定性&#xff0c;国内企业均感受到挑战。如何做到在国内大循环为主体、国内国际双循环相互促进的全新格局下高质量发展&a…

Java+JSP基于ssm共享充电宝管理系统-计算机毕业设计

项目介绍 本共享充电宝管理系统主要包括系统用户管理模块、维护人员模块、投放信息管理、区域信息管理、使用记录管理、登录模块、和退出模块等多个模块,系统采用SSM(springMvcspringMybatis)框架进行开发,本系统使用mysql,开发工具支持eclipse idea myeclipse等主流开发工具i…

点云库PCL学习——点云的格式、PCD文件的打开和显示

1、主要参考 (1)格式说明&#xff1a; 点云库PCL学习——点云的格式、PCD文件的打开和显示 ROS知识&#xff1a;点云文件.pcd格式_无水先生的博客-CSDN博客_pcd文件 &#xff08;2&#xff09;点云滤波&#xff0c;对nan的滤波 Python点云数据处理(三)滤波与RANSAC分割 - …

Bootstrap学习从一个模板开始

开源代码&#xff1a; BootstrapDash/celestialAdmin-free-admin-template: Celestial Free Bootstrap Admin Dashboard Template (github.com)https://github.com/BootstrapDash/celestialAdmin-free-admin-template 作为一个新手&#xff0c;知识还停留在简单的HTMLJSCSS的h…

2022王道计组 chap1 计算机系统概述

2022王道计组 chap1计算机系统概述 1.1 计算机发展历程 本节思维导图 知识点 [计算机系统] 计算机系统 硬件 软件 计算机性能的好坏取决于“软”“硬”件功能的总和 硬件&#xff1a;计算机的实体&#xff0c;如主机、外设等 发展变化&#xff1a;见思维导图 软件&#xf…

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

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

【Java-Web】利用Session和Filter进行权限管理

目录 1.Cookie 概念 优势和不足 2.Session 3.用Session实现登陆 概念 代码 4.使用Filter实现过滤 在使用浏览器的时候&#xff0c;浏览器如何保存我们的个人信息呢&#xff1f;有两种方法&#xff0c;一个是Cookie&#xff0c;一个是Session&#xff0c;区别在于&#x…

详解设计模式:适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;又称为变压器模式&#xff0c;是 GoF 的 23 种设计模式中的一种结构型设计模式。适配器模式 的功能是将一个类的接口变成客户端所期望的另一种接口&#xff0c;从而使原本因接口不匹配而导致无法在一起工作的两个类能够一起工…

双十二选什么牌子的led台灯质量好?2022最新几款真的能护眼的台灯推荐

说到led台灯&#xff0c;那么护眼灯必然是不能忽视的存在&#xff0c;现在市面上的大多数护眼台灯都是使用led灯珠作为发光源&#xff0c;这不仅是因为其高效节能、绿色环保的特性&#xff0c;更重要的是具有很多种保护眼睛的效果。 比起传统的卤素灯或者白炽灯&#xff0c;led…

计算机程序语言的执行过程(个人简单理解)

各种程序语言都只能转换为“机器语言”才能执行 现在的编程语言多种多样&#xff0c;例如&#xff0c;汇编语言&#xff1b;c语言&#xff1b;c&#xff0c;Java&#xff0c;python 语言发展的过程 除了机器语言外&#xff0c;其他语言转换为二进制机器语言 这里要明白两种将…

R语言深度学习不同模型对比分析案例

介绍 深度学习是机器学习最近的一个趋势&#xff0c;模拟高度非线性的数据。在过去的几年中&#xff0c;深度学习在各种应用中获得了巨大的发展势头&#xff08;Wikipedia 2016a&#xff09;。其中包括图像和语音识别&#xff0c;无人驾驶汽车&#xff0c;自然语言处理等等。 …

Allegro输出带等长规则的Excel操作指导

Allegro输出带等长规则的Excel操作指导 Allegro可以输出带等长规则的Excel文件,方便检查和查阅,具体操作如下 打开规则管理器 选择Relative Propagation Delay 选择需要输出的match group-expand展开所有规则 菜单选择Tool-Excel 出现一个对话框,选择Active worksheet,…

德国质量链接中国速度,奥迪一汽新能源汽车有限公司在电动化赛道上全速奔跑

&#xff08;图片一&#xff1a;奥迪一汽新能源汽车有限公司经管会成员暖封闭启动仪式环节合影&#xff09; 长春&#xff0c;2022年11月21日——11月21日&#xff0c;奥迪一汽新能源汽车有限公司举行了伙伴共进暨暖封闭仪式。随着暖封闭的顺利完成&#xff0c;奥迪一汽新能源…

JAVA并发编程--4.1理解Condition

背景&#xff1a;Condition 多线程条件并发控制&#xff0c;与Lock配合可以实现等待/通知模式&#xff1b; 1 condition 使用demo&#xff08;生产者与消费者模型&#xff09;&#xff1a; package org.lgx.bluegrass.bluegrasscoree.util.testcondition;import java.util.Ar…