Driver not loaded之记录Qt访问MySql的解决经历

        对于这个问题的本质原因,我也搞不明白,所以记录的方法不一定对所有人行之有效。我的目的很简单,就是把数据库用起来,经过查找网上资料,最终把数据库跑起来了。因此记录如下:

        1,出现这个问题是缺少相关的库文件;

        2,其次Qt的编译工具需要和MySql的位数相同;【x64--x64】

        3,因为我的MySQL是x64;【select @@version_compile_machine】,所以重新下载Qt镜像安装:https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe

        4,因为需要重新编译MySQl的库文件,所以安装Qt的时候需要勾选Source,并且勾选mingw64和mingw32;【编译库文件mingw64】

        5,直接打开Qt安装目录中的工程文件:Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro。在此之前需要把sqldrivers拷贝进行备份,以防修改后无法还原。【sqldrivers_backup2024.4.2】

        6,修改pro文件,为编译做准备,注意选择MinGW 64-bit编译:

TARGET = qsqlmysqlHEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp#QMAKE_USE += mysqlOTHER_FILES += mysql.jsonPLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
#这个主要是添加.h依赖文件使用
INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 8.0\include"#添加依赖的.lib文件
LIBS+="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib"#生成你所需要的dll存放目录
DESTDIR="C:\Users\xxxx\Desktop\test"

        7,编译后运行后出现下面的界面,我以为是哪里搞错了,实际上库文件编译已经成功了。在桌面上test目录可以看到dll文件。

        8,将编译产生的.dll和.a文件拷贝到:\Qt\5.14.2\mingw73_64\plugins\sqldrivers中,运行原来Qt的数据库工程文件,访问MySql数据库正常。

     

注意事项:

        1,确保数据库工作正常;【我使用datagrip软件操作数据库正常,使用MySQL的命令行操作正常】

        2,测试数据库的代码如下:

          正常打印: ("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7");

    //打印Qt支持的数据库qDebug()<<QSqlDatabase::drivers();QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL");//连接数据库db.setHostName("localhost");db.setUserName("root");db.setPassword("123456");db.setPort(3306);db.setDatabaseName("user_database");//打卡数据库if(!db.open()){QMessageBox::warning(this,"错误",db.lastError().text());}

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

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

相关文章

【Go】十六、文件操作

文章目录 1、打开和关闭文件2、IO3、一次性读文件4、带缓冲区的读文件5、写入文件6、文件复制 1、打开和关闭文件 package main import("fmt""os" ) func main(){//打开文件&#xff1a;file,err : os.Open("d:/Test.txt");if err ! nil {//出错…

Qt之Timers

Qt 中的 Timers&#xff08;定时器&#xff09;是一种非常有用的工具&#xff0c;它允许我们在指定的时间间隔后执行特定的代码。这在许多应用中都非常常见&#xff0c;例如定时更新界面、执行后台任务或触发特定的事件。 在 Qt 中&#xff0c;我们可以使用 QTimer 类来创建和…

【医学影像数据处理】nii 数据格式文件操作汇总

大部分医学领域数据存储的都是dicom格式&#xff0c;但是对于CT等一类的序号图像&#xff0c;就需要多个dicom文件独立存储&#xff0c;最终构成一个序列series&#xff0c;这样存储就太过于复杂了。 nifti&#xff08;Neuroimaging Informatics Technology Initiative&#x…

GT收发器64B66B协议(2)自定义PHY设计

文章目录 前言一、设计框图二、GT_module三、PHY_module3.1、PHY_tx模块3.2、PHY_rx_bitsync模块3.3、PHY_rx模块 四、上板测试 前言 有了对64B66B协议的认识以及我们之前设计8B10B自定义PHY的经验&#xff0c;本文开始对64B66B自定义PHY的设计 一、设计框图 二、GT_module …

蓝桥杯单片机速成8-NE555频率测量

一、原理图 NOTE&#xff1a;使用NE555测量频率之前&#xff0c;需要将J3-15(SIGNAL)与J3-16(P34短接) 在使用矩阵键盘的时候也记得把跳冒拔下&#xff0c;因为有公共引脚P34 又是因为他的输出引脚是P34&#xff0c;所以只能用定时器0来作为计数器进行频率测量了 二、代码实现 …

CSS设置网页背景

目录 概述&#xff1a; 1.background-color: 2.background-image&#xff1a; 3.background-repeat&#xff1a; 4.background-position&#xff1a; 5.background-attachment&#xff1a; 6.background-size&#xff1a; 7.background-origin&#xff1a; 8.background-…

【Python BUG】局域网内远程连接mysql错误:1130

本质是用户权限的问题 到该数据库所在的服务器上。 1&#xff1a;root登录 mysql -u root -p 2&#xff1a;选择库 mysql>use mysql; 3&#xff1a;查看mysql库中的user表的host值 mysql>select ‘host’ from user where user‘root’; 4&#xff1a;修改mysql库中的u…

ss524 硬件板,SD卡插拔时串口没有反应的问题定位

目录 SD卡无法识别问题定位 设备树确认mmc1 启用 驱动文件 sdhci-ss524v100.c 寄存器以及值的定义 probe函数匹配 通过函数的层层打印&#xff0c;sd卡寄存器读取出来时没有插上的状态 SD卡无法识别问题定位 硬件平台&#xff1a;ss524处理器&#xff0c; 内核版本:4.19…

Next js:点击登录显示登录表单,点击注册显示注册表单的功能

Next js&#xff1a;点击登录显示登录表单&#xff0c;点击注册显示注册表单的功能 在Next.js中实现点击登录显示登录表单&#xff0c;点击注册显示注册表单的功能&#xff0c;你可以使用React的状态管理来控制显示哪个表单。这里是一个简单的示例&#xff0c;展示了如何根据用…

Linux初学(十四)LampLnmp

一、简介 LAMP和LNMP是两种常见的web服务器组合。具体如下&#xff1a; LAMP&#xff1a;LAMP代表的是Linux&#xff08;操作系统&#xff09; Apache&#xff08;HTTP服务器&#xff09; MySQL&#xff08;数据库&#xff09; PHP&#xff08;编程语言&#xff09;。这个组合被…

vue2与vue3相比哪个更好

vue2与vue3相比哪个更好 2是选项式api&#xff0c;3是组合式api 2的话数据如果是响应式的话需要定义在data里面 3的话因为要return出去所以需要进行定义const&#xff0c;借助ref&#xff08;&#xff09;或者reactive&#xff08;&#xff09;进行响应式数据切换 对于小型的…

C++利用键值对计算某一个数对应的最值及其索引位置

目录 一、算法概述二、代码实现1、计算最值2、计算最值及其索引 三、结果展示 本文由CSDN点云侠原创&#xff0c;原文链接。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫与GPT。 一、算法概述 类似下图所示&#xff0c;计算第一列中1或2对应的最…

线段树练习

1.单点修改区间查询 P3374 【模板】树状数组 1 题目描述 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,m&#xff0c;分别表示该数列数字的个数和操作的总个…

ChatGPT 与 OpenAI 的现代生成式 AI(下)

原文&#xff1a;Modern Generative AI with ChatGPT and OpenAI Models 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 七、通过 ChatGPT 掌握营销技巧 在本章中&#xff0c;我们将重点介绍营销人员如何利用 ChatGPT&#xff0c;在这一领域中查看 ChatGPT 的主要用例…

Delphi编写的图片查看器

UNIT Unit17;INTERFACEUSESWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,Vcl.StdCtrls, Vcl.ExtDlgs, Vcl.ExtCtrls, Vcl.Imaging.jpeg; //注意&#xff1a;要加入jpej 否侧浏览图…

ids工业相机与电控位移台同步控制及数据采集

通过VS2017和OpenCV,实现ids工业相机与电控位移台同步控制及数据采集 目录项目环境配置代码流程及思路项目架构项目开发运行效果开发关键ids相机配置位移台环境配置相机头文件相机参数设置保存图像函数设置电控位移台头文件电控位移台设置参数最后就是通过main函数进行调用和控…

《QT实用小工具·十一》Echart图表JS交互之仪表盘

1、概述 源码放在文章末尾 该项目为Echart图表JS交互之炫酷的仪表盘&#xff0c;可以用鼠标实时改变仪表盘的读数。 下面为demo演示&#xff1a; 该项目部分代码如下&#xff1a; #include "widget.h" #include "ui_widget.h" #include "qurl.h&q…

pytest中文使用文档----11测试的参数化

1. pytest.mark.parametrize标记 1.1. empty_parameter_set_mark选项1.2. 多个标记组合1.3. 标记测试模块 2. pytest_generate_tests钩子方法 在实际工作中&#xff0c;测试用例可能需要支持多种场景&#xff0c;我们可以把和场景强相关的部分抽象成参数&#xff0c;通过对参数…

PWM技术的应用

目录 PWM技术简介 PWM重要参数 PWM实现呼吸灯 脉宽调制波形 PWM案例 电路图 keil文件 直流电机 直流电机的控制 直流电机的驱动芯片L293D L293D引脚图 L293D功能表 直流电机案例 电路图 keil文件 步进电机 步进电机特点 步进电机驱动芯片L298 L298引脚图 L…

Django创建app

一个新建立的项目结构大概如下 mysite/  manage.py   mysite/    init.py    settings.py    urls.py    asgi.py    wsgi.py 各文件和目录解释&#xff1a; 外层的mysite/目录与Django无关&#xff0c;只是项目容器&#xff0c;可以任意重命名.manage.py&#x…