【Qt】加载MySQL数据库驱动失败的解决方法

server/2024/12/19 16:49:35/

文章目录

  • 问题概述
  • 编译MySQL数据库驱动
      • 安装MySQL Community Server
      • 编译qsqlmysql

问题概述

已经安装了MySQL Server 8.0,但是在Qt程序中使用MySQL数据库驱动,依然提示找不到。看了网上一些教程,大体上都是说将MySQL的lib文件夹下的libmysql.dll和libmysql.lib文件拷贝到Qt的安装目录的bin文件夹下,但仅仅操作这一步的话,还是没有办法解决我找不到数据库驱动的问题。如果你也像我一样,那么我们可能需要自己编译数据库驱动。

编译MySQL数据库驱动

安装MySQL Community Server

https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
点击Archives,选择版本和平台并下载
在这里插入图片描述
解压并记住这个路径(编译时需要用),例如,我解压在Qt安装目录下
在这里插入图片描述

mysql_12">编译qsqlmysql

打开Qt源码目录下的mysql.pro,以安装在C盘的Qt 5.15.2为例,路径为:
C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql
在这里插入图片描述
pro文件有几个需要设置的地方
1、添加include目录、依赖库目录、生成文件目录
在这里插入图片描述

注意:DESTDIR可以是任意目录,但是编辑完成后,记得执行qmake,否则不会生成一个新的目录,这样即使编译成功也找不到目标文件。

2、注释掉QMAKE_USE += mysql
否则可能会报错:Library ‘mysql’ is not defined.
请添加图片描述
3、打开qsqldriverbase.pri,将 include($$shadowed($$PWD)/qtsqldrivers-config.pri) 改成 include(./configure.pri)
在这里插入图片描述
否则可能会报错:Cannot read xxx/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri
请添加图片描述
点击重新构建,lib目录下会生成一些库文件,其中qsqlmysql.dll和qsqlmysqld.dll是我们需要的
在这里插入图片描述
把这两个文件复制到Qt插件目录下的sqldrivers中
在这里插入图片描述
将MySQL安装目录下的lib文件夹下的libmysql.dll,复制到Qt编译器的bin目录下
在这里插入图片描述
在这里插入图片描述
此时,再启动Qt程序,打印当前数据库的驱动,就有mysql数据库驱动了
在这里插入图片描述
【参考】
Qt Windows环境下如何添加MYSQL数据库驱动
Qt中使用MySQL数据库详解,好用的模块类封装
Qt连接MySql驱动加载失败问题解决方法


http://www.ppmy.cn/server/151483.html

相关文章

JAVA:代理模式(Proxy Pattern)的技术指南

1、简述 代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理,以控制对这个对象的访问。通过代理模式,我们可以在不修改目标对象代码的情况下扩展功能,满足特定的需求。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什…

LSTM实现天气模型训练与预测

要实现一个天气预测的模型,并确保该模型可以反复进行训练和更新,先设计: 设计方案 数据获取: 使用公开的天气数据API(例如OpenWeather API或其他类似的API)获取天气数据。确保数据以合适的格式&#xff08…

前端学习-操作元素内容(二十二)

目录 前言 目标 对象.innerText 属性 对象.innerHTML属性 案例 年会抽奖 需求 方法一 方法二 总结 前言 曾经沧海难为水,除却巫山不是云。 目标 能够修改元素的文本更换内容 DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象,…

利用卷积神经网络进行手写数字的识别

数据集介绍 MNIST(Modified National Institute of Standards and Technology)数据集是一个广泛使用的手写数字识别数据集,常用于机器学习和计算机视觉领域中的分类任务。它包含了从0到9的手写数字样本,常用于训练和测试各种图像…

2024年贵州技能大赛暨全省第二届数字技术应用职业技能竞赛“信息通信网络运行管理员”赛题

1.分析attack.pcapng数据包文件,通过分析数据包 attack.pcapng找出恶意用户第一次访问HTTP服务的数据包是第 几号,将该号数作为Flag值提交; flag{277} 2.继续查看数据包文件attack.pcapng,分析出恶意用户扫 描了哪些端口&#xf…

深度学习中的激活函数

激活函数(activation function)是应用于网络中各个神经元输出的简单变换,为其引入非线性属性,使网络能够对更复杂的数据进行建模,使其能够学习更复杂的模式。如果没有激活函数,神经元只会对输入进行枯燥的线性数学运算。这意味着&…

视频生成缩略图

文章目录 视频生成缩略图使用ffmpeg 视频生成缩略图 最近有个需求&#xff0c;视频上传之后在列表和详情页需要展示缩略图 使用ffmpeg 首先引入jar包 <dependency><groupId>org.bytedeco</groupId><artifactId>javacpp</artifactId><vers…

《向量数据库指南》——Milvus Cloud 2.5:Sparse-BM25引领全文检索新时代

Milvus Cloud BM25:重塑全文检索的未来 在最新的Milvus Cloud 2.5版本中,我们自豪地引入了“全新”的全文检索能力,这一创新不仅巩固了Milvus Cloud在向量数据库领域的领先地位,更为用户提供了前所未有的灵活性和效率。作为大禹智库的向量数据库高级研究员,以及《向量数据…