VS2022+QT5.15.2+MySQL8.4大集合

网上的教程都建议用Qt5,不要用6,不死心的尝试了整整一天失败了,乖乖用回5,qt5需要编译一下生成mysql的动态和静态库

1. mysql8.4安装

下载社区开发版,注意要64位

https://dev.mysql.com/downloads/mysql/

配置一下数据库为了后面测试用

这里配置端口及root密码,保证和最后一步的测试代码一致就行

在mysql命令行中新建一个测试数据库

2. qt5.15.2安装

清华镜像,在线安装:Index of /qt/official_releases/online_installers/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

注意现在5的老版本需要先选Archive再选Filter

需要选如下三个,Sources是用来编译Mysql库的

3. qt编译Mysql库

找到Qt安装目录下 \5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql

双击打开mysql.pro文件,会自动启动qtcreator,进行如下修改,引入Mysql8.4的头文件 & lib

再修改qsqldriverbase.pri文件

如果你电脑里有多个qt版本,要选择正确的构建版本,针对vs2022的是这个:

此时目录\5.15.2\msvc2019_64\qtbase\src\plugins\sqldrivers\plugins\sqldrivers下会生成

qsqlmysql.dll、qsqlmysqld.dll两个动态库,qsqlmysql.lib、qsqlmysqld.lib两个静态库

将两个动态库拷贝到\5.15.2\Src\qtbase\src\plugins\sqldrivers、

以及\5.15.2\msvc2019_64\plugins\sqldrivers下

注意如果后面遇到【QSqlDatabase: QMYSQL driver not loaded】问题,很可能是忘了拷贝到后者目录

至此,qt编译mysql结束

3. vs2022引入qt扩展

这一步一般不会出现什么问题

vs2022我选了这几项

3.1 安装vs拓展工具(关闭vs2022)

去官网下载拓展管理器vsaddin,双击安装。安装的时候要关闭vs2022。

Index of /official_releases/vsaddin/2.9.1

3.2 配置qt版本

vs需要手工指定qt版本

上方选项卡:扩展 - Qt VS Tools - Qt Versions

选择5.15.2\msvc2019_64\bin\qmake.exe

后面就可以新建qt项目了

4. 测试qt+mysql是否成功

新建一个qt项目后,在include & lib中加入qt & Mysql的头文件及lib路径

在linker - input中指定具体静态库

main函数中编写测试代码:

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>

int main(int argc, char* argv[])
{
    QCoreApplication a(argc, argv);

    // 连接mysql的test数据库测试代码
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");  //连接本地主机
    db.setPort(3306);
    db.setDatabaseName("test2"); //上面新建的数据库名称
    db.setUserName("root");
    db.setPassword("123456"); // 你的mysql数据库设置的密码
    bool ok = db.open();
    if (ok) {
        qDebug() << "infor link success";
    }
    else {
        qDebug() << "infor link failed";
        qDebug() << "error open database because"; //<<db.lastError().text();
    }

    return a.exec();
}

理论上弹出success的对话框就work了

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

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

相关文章

nacos连接异常did not find the Leader node;

目录 问题描述解决过程持久化节点真的是存在数据库吗&#xff1f; 问题描述 我搭建的是nacos伪集群&#xff0c;然后主要想着看看集群情况下&#xff0c;临时节点和持久节点的区别。 如果使用临时节点项目能够正常起来&#xff0c;一旦添加ephemeral: false项目就起不来了。 …

R语言绘图 --- 饼状图(Biorplot 开发日志 --- 2)

「写在前面」 在科研数据分析中我们会重复地绘制一些图形&#xff0c;如果代码管理不当经常就会忘记之前绘图的代码。于是我计划开发一个 R 包&#xff08;Biorplot&#xff09;&#xff0c;用来管理自己 R 语言绘图的代码。本系列文章用于记录 Biorplot 包开发日志。 相关链接…

时序波形数据建模处理的新方法:python开发构建时序波形数据识别分析模型,以地震、滑坡等地质灾害场景为例

地震和滑坡等地质灾害对人类社会构成的威胁不容忽视。这些灾害的突然性和不可预测性使得预防与应对变得尤为困难。传统的监测和预警方法往往依赖于人工的数据分析和专家判断&#xff0c;这种方法不仅效率低下&#xff0c;而且成本高昂&#xff0c;更重要的是&#xff0c;它可能…

什么是做到?在做到平台怎么赚钱?

外语比较好的人&#xff0c;也可以在网上接单赚钱&#xff0c;下面就给大家分享一个翻译赚钱的靠谱平台——做到!&#xff1a; 做到! 简介 做到! 网于2011年6月份上线&#xff0c;是阿里巴巴旗下阿里翻译团队打造的语言众包平台&#xff0c;汇聚众多语言爱好者&#xff0c;提…

智能售货机加盟新契机

加盟智能售货机业务&#xff0c;尤其是在当前技术迭代迅速与市场需求高涨的背景下&#xff0c;正成为众多创业者积极探索的领域。以重庆臻奶惠为代表的企业&#xff0c;正利用其在智能科技与支付资讯的深厚底蕴&#xff0c;为有意涉足该行业的加盟者铺设了一条既稳健又具前瞻性…

python编程:创建 SQLite 数据库和表的图形用户界面应用程序

在本文中&#xff0c;我将介绍如何使用 wxPython 模块创建一个图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;该应用程序允许用户选择 SQLite 数据库的存放路径、数据库名称、表名称&#xff0c;并动态添加字段及其类型。以下是具体的实现步骤和代码示例。 C:\p…

物联边缘网关有哪些功能?物联边缘网关在工业方向的应用-天拓四方

随着物联网技术的快速发展&#xff0c;越来越多的设备和系统正在接入到网络中&#xff0c;形成了一个庞大的智能生态系统。在这个系统中&#xff0c;物联边缘网关扮演着至关重要的角色&#xff0c;它不仅是连接设备和云端的桥梁&#xff0c;更是推动智能应用落地的关键。在当今…

反射获取构造方法

目录 利用反射获取构造方法 代码实现 获取class对象 ​编辑获取权限修饰符 获取参数 创建对象 利用反射获取构造方法 代码实现 Student类&#xff1a; 获取class对象 获取权限修饰符 获取参数 创建对象 因为con4的构造方法的权限修饰符是private&#xff0c;不能直接在测…

特征选择概述

提示&#xff1a;特征选择 文章目录 1&#xff0c; 什么是特征选择2&#xff0c;特征选择的过程2.1&#xff0c;特征子集的产生过程2.2&#xff0c;特征子集的评价准则2.3&#xff0c;特征选择的停止准则2.4&#xff0c;特征子集的分类验证 3&#xff0c; 特征选择的方法分类参…

摸鱼大数据——Hive函数4-6

4、类型转换函数 类型转换: cast(字段名称 as 想要的数据类型) 示例&#xff1a; -- 数据类型转换 -- string->int select cast("123" as int),"123"; ​ -- string->float/double select cast("123.555" as float),"123.555"…

绘画智能体分享

这是您请求的故宫雪景图&#xff0c;角落有一只可爱的胖猫&#xff0c;采用了水墨画风格&#xff0c;类似于张大千的作品。希望您喜欢这幅画&#xff01; &#x1f3a8; 选项 1【转变风格】——将这幅画转变为梵高的后印象派风格&#xff0c;增添一些梵高特有的笔触和色彩。 &…

【算法】位运算算法——消失的两个数字(困难)

题解&#xff1a;消失的两个数字(位运算算法) 目录 1.题目2.题解3.示例代码如下4.总结 1.题目 题目链接&#xff1a;LINK 2.题解 本题要求时间复杂度O(N),空间复杂度O(1),分别否了我们 排序遍历 和 哈希数组 的想法。想要在规定时间/空间复杂度内完成本题&#xff0c;需要借…

FreeRTOS实时系统 在任务中增加数组等相关操作 导致单片机起不来或者挂掉

在调试串口任务中增加如下代码&#xff0c;发现可以用keil进行仿真&#xff0c;但是烧录程序后&#xff0c;调试串口没有打印&#xff0c;状态灯也不闪烁&#xff0c;单片机完全起不来 博主就纳了闷了&#xff0c;究竟是什么原因&#xff0c;这段代码可是公司永流传的老代码了&…

戴尔向“数”而行,以“质”致远,做新质生产力的躬耕者

【全球存储观察 &#xff5c; 热点关注】 自1984年戴尔成立&#xff0c;一路走来&#xff0c;戴尔科技集团40年长期持续的技术创新&#xff0c;一直引领全球科技行业的技术趋势。 到如今&#xff0c;AIGC风行一时&#xff0c;在重塑千行百业的同时&#xff0c;也加速了科技行业…

解决安装 WP Super Cache 插件提示 Advanced-Cache.Php 是另一个插件创建的

昨天晚上一个站长求助明月&#xff0c;说是安装 WP Super Cache 插件的时候提示 advanced-cache.php 被占用了&#xff0c;无法完成安装&#xff0c;收到截图看了才明白原来提示的是“advanced-cache.php 文件&#xff0c;由另一个插件或者系统管理员创建的”&#xff0c;如下图…

java属性重写

介绍 关于&#xff0c;属性没有重写只能是编译类型的 代码 package b;public class main_ {public static void main(String[] args) {//向上转型&#xff0c;父类的引用转向了子类的fathetr fatnew son();System.out.println("编译类型是father时的sum属性是"fat.…

如何理解央行买卖国债?

浙商证券覃汉认为&#xff0c;央行对长债的风险持续关注&#xff0c;30年国债收益率较难突破2.5%&#xff0c;区间底部已经多次印证&#xff0c;在学习效应影响下&#xff0c;长端利率预计继续以震荡调整为主。 1、央行买卖国债的政策要求、历史经验、优势 2023年中央金融工作…

实现音乐创作梦想的利器——Cockos Reaper for Mac/win

在当今数字音频制作领域&#xff0c;专业人士和业余爱好者都在寻找一款功能强大、易于操作的软件来实现他们的音乐创作梦想。而Cockos Reaper作为一款跨平台的数字音频工作站软件&#xff0c;既适用于Mac系统&#xff0c;也适用于Windows系统&#xff0c;成为众多音乐制作人心目…

每日一题——Python实现PAT乙级1020 月饼(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 专业点评&#xff1a; 时间复杂度分析&#xff1a; 空间复杂度分析&#…