编译 qsqlmysql.dll QMYSQL driver not loaded

news/发布时间2024/9/20 9:04:22

Qt 连接MySQL数据库,没有匹配的qsqlmysql.dll, 需要我们跟进自己Mysql 以及QT版本自行编译的。异常如下图:

安装环境为

  1. VS2019
  2. Qt5.12.12(msvc2017_64、以及源码) 我的安装地址:D:\Qt\Qt5.12.12
  3. Mysql 8.1.0  默认安装地址C:\Program Files\MySQL\MySQL Server 8.1

步骤:

step 1:

找到 D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\mysql

用Qt Creator 打开项目

选择64bit configure project

step2:

修改mysql.pro 项目文件

如图修改4处

注释一行

构建==》》build all project

完成编译

在D:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\build-mysql-Desktop_Qt_5_12_12_MSVC2017_64bit-Debug\lib

就可以得到生成的dll、lib、pdb文件

step 3:

将生产的qsqlmysql.dll、qsqlmysqld.dll文件copy到 D:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\sqldrivers  目录

step 4:

将C:\Program Files\MySQL\MySQL Server 8.1\lib下的libmysql.dll、libmysql.lib copy到

D:\Qt\Qt5.12.12\5.12.12\msvc2017_64\bin 下

step 5:

测试demo程序

#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <Qdebug>
#include <QSqlError>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    //输出可用数据库
    qDebug() << "available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug() << driver;

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("mysql");
    db.setUserName("root");
    db.setPassword("root");
    bool ok = db.open();
    if (ok) {
        qDebug() << "OK" << db.lastError().text();

    }
    else {
 
        qDebug() << "error open database because" << db.lastError().text();
    }


    return a.exec();
}

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

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

相关文章

数据结构------栈(Stack)和队列(Queue)

也是好久没写博客了&#xff0c;那今天就回归一下&#xff0c;写一篇数据结构的博客吧。今天要写的是栈和队列&#xff0c;也是数据结构中比较基础的知识。那么下面开始今天要写的博客了。 目录 栈&#xff08;Stack&#xff09; 队列&#xff08;Queue&#xff09; 喜欢就点…

Java 1.8 docker 镜像制作

文章目录 一、下载文件二、精简JRE三、Dockerfile四、构建镜像五、容器测试 一、下载文件 glibc 下载地址 glibc-2.33-r0.apk glibc-bin-2.33-r0.apk glibc-i18n-2.33-r0.apk rsa sgerrand.rsa.pub jre 1.8 jre-8u201-linux-x64.tar.gz 二、精简JRE 解压 tar -zxvf jre-8…

【系统分析师】-企业信息化战略与实施

信息就是不确定性的减少 信息化就是计算机、通信和网络技术的现代化 信息化就是从物质生产占主导地位的社会向信息产业占主导地位社会转变的发展过程 信息化就是从工业社会向信息社会演进的过程 1、信息系统 1&#xff09;应用层次分类&#xff1a; 战略级(企业最高管理层…

机器学习|决策树

左图的点是一种线性不可分的情况&#xff0c;无法拿一条直线去将进行分开。 每一个节点都代表一个决策&#xff0c;从而导致节点的分流。 最终的目标肯定是要达到分类。 但取得目标的过程是有所谓的好坏。 而这个好坏用熵/信息增益来衡量。 熵是一种用于反映系统混乱程度的物理…

ArmSoM Rockchip系列产品 通用教程 之 CAN 使用

CAN 使用 1. CAN 简介 CAN (controller Area Network)&#xff1a;控制器局域网络总线&#xff0c;是一种有效支持分布式控制或实时控制的串行通信网络。 目前世界上绝大多数汽车制造厂商都采用CAN总线来实现汽车内部控制系统之间的数据通信。 RK3568/RK3588的CAN驱动文件&a…

Redis 之三:发布订阅(pub/sub)

概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式&#xff0c;它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中&#xff0c;有三种角色&#xff1a; 发布者&#xff08;Publisher&#xff09;&#xff1a;负责发送信…

rabbitmq重编辑版本

消息队列RabbitMQ详细使用 文章目录 消息队列RabbitMQ详细使用MQ 的相关概念什么是MQ为什么要用MQMQ 的分类MQ 的选择 RabbitMQRabbitMQ 的概念四大核心概念各个名词介绍安装RabbitMQWeb管理界面及授权操作Docker 安装Hello world简单示例 Work Queues轮训分发消息消息应答自动…

【前端素材】推荐优质后台管理系统 Greeva平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面&#xff0c;通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面&#xff0c;使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

MATLAB环境下基于小波和滤波器组的音频信号处理

音频分类研究的重点&#xff0c;一方面在于音频特征的提取和选择&#xff0c;通常来说数据集和特征集在分类系统中有着极为重要的作用&#xff0c;离开了对数据集的处理、对特征集中特征的提取和选择&#xff0c;分类结果必将产生巨大误差。对于提高音频分类系统的分类准确度和…

Python图像形态学处理:腐蚀、膨胀、礼帽、黑帽……

文章目录 二值形态学灰度形态学 python图像处理教程&#xff1a;初步&#x1f4f7;插值变换 最基础的形态学操作有四个&#xff0c;分别是腐蚀、膨胀、开计算和闭计算&#xff0c;【scipy.ndimage】分别实现了二值数组和灰度数组的这四种运算。而针对灰度图像&#xff0c;【sc…

MES系统在离散制造企业中的功能解析

随着信息技术的快速发展和制造业的转型升级&#xff0c;MES在离散制造企业中的作用日益凸显。MES系统不仅提高了生产效率和产品质量&#xff0c;还优化了资源配置&#xff0c;增强了企业的市场竞争力。 一、生产管理功能 MES系统能够实时监控生产现场的各种数据&#xff0c;包…

【字典树】【KMP】【C++算法】3045统计前后缀下标对 II

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 字符串 字典树 KMP 前后缀 LeetCode:3045统计前后缀下标对 II 给你一个下标从 0 开始的字符串数组 words 。 定义一个 布尔 函数 isPrefixAndSuffix &#xff0c;它接受两个字符串参数 str1 和 str2 &#xff1a; 当 st…

Repetition Improves Language Model Embeddings

论文结论&#xff1a; echo embeddings将句子重复拼接送入到decoder-only模型中&#xff0c;将第二遍出现的句子特征pooling作为sentence embedding效果很好&#xff0c;优于传统方法 echo embeddings与传统embedding方法区别&#xff0c;如图所示&#xff1a; Classical emb…

SecureCRT for Mac/win:保障数据安全的专业终端SSH工具软件

SecureCRT for Mac/win是一款广受欢迎的专业终端SSH工具软件&#xff0c;为用户提供了强大的加密通信和数据安全功能&#xff0c;使其成为网络管理人员、系统管理员和开发人员的首选工具。无论是在Mac还是Windows操作系统下&#xff0c;SecureCRT都能够帮助用户轻松地进行远程访…

深入理解nginx的https alpn机制

目录 1. 概述2. alpn协议的简要理解2.1 ssl的握手过程2.2 通过抓包看一下alpn的细节3. nginx源码分析3.1 给ssl上下文设置alpn回调3.2 连接初始化3.3 处理alpn协议回调3.4 握手完成,启用http协议4.4 总结阅读姊妹篇:深入理解nginx的https alpn机制 1. 概述 应用层协议协商(…

搜维尔科技:xsens研究与教育,为人类运动机制带来意义

推动人类运动学 运动学的精确测量——机械点、机构和系统运动的研究——对于推动当今的生物力学研究至关重要。 研究和了解人体运动机制是通过康复、预防伤害或提高运动表现来改善人们生活的关键。 生物力学研究 主要优点 1.实验室质量数据 – 适合详细分析 2.在任何情况下…

QT网络编程——TCP

TCP TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一个用于数据传输的低层的网络协议&#xff0c;多个互联网协议&#xff08;包括 HTTP 和 FTP&#xff09;都是基于 TCP 协议的。它是可靠的、面向流、面向连接的传输协议&#xff0c;…

《迷失方阵》问题

迷失方阵 给你一个N*M的方阵&#xff0c;你能告诉它这个方阵有多少个正方形吗&#xff1f; eg&#xff1a;1x1矩阵 1个正方形 2x3矩阵 8个正方形 代码很简洁&#xff0c;但是数学规律需要多拿笔画一下&#xff0c;才能发现。 #include<stdio.h> #include<math.h> …

安卓cpu内存监控,大厂首发

开头 很多人工作了十年&#xff0c;但只是用一年的工作经验做了十年而已。 高级工程师一直是市场所需要的&#xff0c;然而很多初级工程师在进阶高级工程师的过程中一直是一个瓶颈。 移动研发在最近两年可以说越来越趋于稳定&#xff0c;因为越来越多人开始学习Android开发&…

Transformer之Residuals Decoder

The Residuals 我们需要提到的编码器架构中的一个细节是&#xff0c;每个编码器中的每个子层(self-attention,&#xff0c;ffnn)周围都有一个残余连接&#xff0c;然后是 layer-normalization 步骤。 如果我们要可视化向量和与 self attention 相关的 layer-norm 运算&#x…
推荐文章