Qt6 配置MSVC2022

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Qt6已经有稳定的6.9.1,今天试了一下可以在线安装,并且配置了一下Qt6和MSVC2022.


一、准备工作

在这里插入图片描述
从Qt主页,下载qt安装文件,以及从MS下载VS安装文件

二、使用步骤

1.安装Qt

选择6.9.1,安装时要选择msvc2022,安装windows SDK 以及 Debug tools

2.安装vs

选择开发工具C++,安装时在组件部分选择 C++ MFC for x86 and x64

3.项目测试

新建demo,选择套件msvc2022,run。这是Cmake以后的程序样式,与之前的Qmake有很大差别。当然,也可以选择使用Qmake来编译。
在这里插入图片描述


总结

Qt6可以试试了,Qt5差不多该汰换了。

### 配置 Qt 6MSVC 2022 使用 MySQL 数据库 #### 创建 Qt Widgets 应用程序项目 为了开始配置,在 Visual Studio 2022 中创建一个新的 Qt Widgets Application 项目 MysqlTest。通过项目的向导完成设置,这会初始化必要的文件结构和基本配置[^2]。 #### 设置包含路径 进入项目->属性菜单中的 VC++ 目录部分,添加 Qt 的 include 路径以便访问所需的头文件。对于 Qt 6 版本,假设安装路径为 `D:\Qt\6.x.y\msvc2019_64` (具体版本号根据实际情况调整),则应加入如下两个目录: - `D:\Qt\6.x.y\msvc2019_64\include` - `D:\Qt\6.x.y\msvc2019_64\include\QtSql` 此操作确保编译器能够找到 Qt SQL 模块的相关声明。 #### 准备 MySQL 支持 构建 QMYSQL 插件前,确认已获取 MySQL Server 或者至少有 MySQL Connector/C++ 安装包,因为它们提供了必需的 .h 文件及静态链接库(.lib)[^3]。下载适用于 Windows 平台的二进制分发版,并解压至合适的位置比如 `D:\MySQL`. 接着把 MySQL 的 lib 子文件夹内的几个核心 DLL (`libmysql.dll`, `libmysqld.dll`) 复制粘贴到 Qt msvc 编译套件对应的 bin 文件夹里去,例如 `D:\Qt\6.x.y\msvc2019_64\bin`. 这样做可以让运行时加载器定位到这些共享对象[^5]. #### 构建自定义插件 由于预编译好的驱动可能不完全匹配当前环境需求或者不存在于官方发布渠道中,因此建议自行编译适合本地开发条件的 sqldrivers/mysql 组件。源代码位于 Qt SDK 下面类似于这样的路径: ``` C:\Qt\Qt6.x.y\6.x.y\Src\qtbase\src\plugins\sqldrivers\mysql ``` 利用 CMake 工具链来处理这个子工程,指定正确的 MySQL 根目录作为输入参数之一(`-DMYSQL_ROOT=D:/MySQL`). 此外还需注意选择恰当的目标架构(x86/x64),使之同应用程序一致[^4]. 成功完成后, 新生成的 qsqlmysqld.dll 就可以被集成进应用之中了. ```cmake # 示例 cmake 命令行调用方式 cd path/to/qtbase/src/plugins/sqldrivers/mysql mkdir build && cd build cmake .. -DCMAKE_PREFIX_PATH="path_to_qt/msvc" -DMYSQL_ROOT="D:/MySQL" cmake --build . ``` #### 测试连接功能 最后一步是在代码层面验证能否正常建立与远程/本地 MySQL 实例之间的通信联系. 参考 Qt 文档关于 QSqlDatabase 类的方法说明编写简单的测试函数尝试打开特定名称的数据表空间. ```cpp #include <QCoreApplication> #include <QtSql> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 初始化数据库实例并设定类型为 mysql QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); // 主机地址 db.setPort(3306); // 默认端口 db.setUserName("root"); // 用户名 db.setPassword(""); // 密码(这里为空) db.setDatabaseName("testdb"); // 数据库名字 bool ok = db.open(); if (!ok){ qDebug() << "Failed to connect:" << db.lastError().text(); return -1; }else { qDebug()<<"Connection successful!"; } return a.exec(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值