VS Code + Qt 6.10 + CMake + VS2026 配置教程

Qt 6.10.0开发环境配置:VS Code+VS 2026+CMake混合开发指南 跨平台开发框架Qt与现代化开发工具链的结合是当前C++工程实践的热点。通过CMake构建系统可以统一管理不同IDE和编译器的配置,实现高效的代码编译与调试。本文以Qt 6.10.0为例,详细解析如何配置VS Code+Visual Studio 2026+CMake的混合开发环境,解决环境变量设置、CMakePresets.json配置、Qt模块链接等关键技术难点。该方案特别适合需要同时兼顾开发效率和调试能力的中大型Qt项目,通过Ninja生成器和MSVC编译器的组合,可显著提升构建速度。文中还包含信号槽调 阅读详情

如果你正拿着一份“VS Code + Qt 6.10.0 + VS 2026 + CMake”的组合在折腾,大概率不是闲着没事干,而是因为 Qt 6.10 对编译器版本有硬性门槛,Visual Studio 的生成器又和旧版 CMake 存在兼容错位,再加上 VS Code 里 CMake Tools 的状态栏按钮时灵时不灵,这几件事叠在一起,确实够喝一壶的。这篇文章就把这套工具链从选型到跑通的完整过程拆开讲清楚,既有理论层面的“为什么这么配”,也有可直接照抄的 CMakeLists.txt、settings.json、launch.json 配置,以及我实际踩过的坑和排查路子,希望能帮你缩短从“配置报错”到“正常编译运行”之间的距离。

1. 配置前必须想清楚的几件事

1.1 工具链里每个角色都在干什么

先说清楚这套组合里几个“人”的分工,不然配置起来很容易被各种报错带偏节奏。

VS Code 在这里仅仅是编辑器加前端操作界面,它自己不编译任何东西,也不是调试器。真正负责把源码变成 exe 的是编译器,也就是 Visual Studio 2026 自带的 MSVC 工具链(cl.exe、link.exe 那套)。CMake 则是夹在中间的总调度:它负责检查环境、找到 Qt 库和头文件、生成一份“构建脚本”,然后调用编译器完成编译和链接。Qt 6.10.0 则是一大堆现成的库和头文件,CMake 通过 find_package(Qt6) 去定位它。

把这个关系理顺之后你会发现,配置的本质就两个动作:一是让 CMake 能找到 Qt,二是让 CMake 能调对编译器。VS Code 里的 CMake Tools 插件只是把这两个动作的可视化入口拿到状态栏里来,节省你手敲命令的时间。理解这个边界之后,遇到任何报错,第一反应就应该是“这是 CMake 阶段的问题,还是编译器阶段的问题,还是 VS Code 插件的问题”,定位起来会快得多。

1.2 版本选型与安装避坑

Qt 6.10.0 是较新的版本,对 C++ 标准支持良好,官方要求编译器具备 C++17 能力。Visual Studio 2026 的 MSVC 工具链在版本号上完全满足要求。需要特别注意的是,Qt 官方在线安装包里,组件列表里有不同编译器后缀的目录,比如 msvc2019_64、msvc2022_64 等。这套组合下一定要选 MSVC 2019/2022 64-bit 对应的那套组件,千万别顺手选成 MinGW 的。

选错组件的后果很有意思:CMake 阶段可能一切正常,头文件也都找得到,但一进入编译阶段,MinGW 组件里的 lib 文件与 MSVC 的导入库格式不兼容,链接器会抛出一堆底层符号错误,比如 unresolved external symbol 这类,看着像代码问题,实际是工具链嫁接错误。

另外,无论 Qt 装在哪个盘,都需要记下安装根目录的完整路径,比如 C:\Qt\6.10.0\msvc2022_64 ,后面 CMake 的 CMAKE_PREFIX_PATH 要指向它。安装时建议不要勾选“添加 Qt 到 PATH”这个选项,除非你确定自己需要命令行直接执行 Qt 工具。把 Qt 的 bin 目录放进 PATH 会带来和其他 DLL 发生冲突的风险,这是我在多台机器上反复验证过的教训,等需要的时候再单独配置也不迟。

2. CMake 配置核心:让构建系统正确找到 Qt

2.1 一份能跑通的最小 CMakeLists.txt

先给出一份最简单但完整的 CMakeLists.txt,这些内容我已经在多个项目里反复用过,可以直接作为起点。

cmake_minimum_required(VERSION 3.21)

project(QtDemo VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets)

add_executable(QtDemo
    main.cpp
    mainwindow.cpp
    mainwindow.h
)

target_link_libraries(QtDemo PRIVATE Qt6::Widgets)

这里面有几个地方值得多说两句。

CMAKE_AUTOMOC 是 Qt 的元对象编译器开关。只要你的代码里出现了 Q_OBJECT 宏,moc 工具就必须参与头文件的预处理,否则会出现“未定义的 vtable 引用”之类的链接错误。开启这三个 AUTOX 选项之后,CMake 会在编译过程中自动调用 moc、rcc、uic,省去手动添加 Qt 命令的麻烦。很多新手第一次编译 Qt 项目失败,往往就是忘了开 AUTOMOC。

find_package(Qt6 REQUIRED COMPONENTS Widgets) 这句话是在告诉 CMake:去找 Qt6 的安装位置,并且我需要 Widgets 模块。如果你后面要用到 Qt Charts、Qt Network 之类的模块,就在 COMPONENTS 后面继续追加名称,同时记得在 target_link_libraries 里加上对应的 Qt6::Netw

Qt5与CMake集成开发环境搭建全攻略 本文详细介绍了Qt5与CMake集成开发环境的完整搭建流程。从安装准备、核心配置到自动化工具启用,重点讲解了如何通过设置CMAKE_PREFIX_PATH让CMake正确识别Qt5,并提供了完整的CMakeLists.txt示例和常见问题排查方法,帮助开发者构建高效、跨平台的现代C++项目。 阅读详情

相关推荐

Visual Studio 2026 开发环境搭建:组件选择、编译器配置与 Qt/PyTorch 集成

集成开发环境(IDE)是提升开发效率的核心工具,其配置过程涉及工作负载选择、编译器工具链管理与外部框架对接。Visual Studio 2026 在安装器逻辑和默认组件策略上做了调整,要求开发者更明确地规划 C++ 桌面开发、Python 开发等工作负载。合理配置 MSVC 与 clang 工具集,并集成 Qt 6.11、PyTorch 等外部环境,能显著减少新建项目时的模板缺失和链接错误。本文记录从零搭建 VS 2026 开发环境的完整实践,涵盖组件选择、界面优化、编译器共存及常见问题排查,适合新手和迁移

weixin_33997389的博客 356

VS Code在Ubuntu上的完整配置流程:从安装到插件推荐

本文详细介绍了在Ubuntu系统上配置VS Code的完整流程,包括安装方法、中文支持、必备插件推荐以及高级调试技巧。通过优化工作区设置和远程开发配置,帮助开发者打造高效的编程环境,提升开发效率。特别适合需要在Ubuntu上使用VS Code进行开发的程序员参考。

weixin_28839699的博客 149

WSL2+Ubuntu20.04纯root环境搭建指南:告别权限烦恼的终极方案

本文提供了一份详细的WSL2+Ubuntu20.04纯root环境搭建指南,旨在为本地开发与学习打造一个免去权限干扰、极致流畅的Linux子系统环境。通过启用WSL2、安装Ubuntu 20.04,并执行核心的root用户设置,开发者可以彻底告别频繁的sudo操作,提升在文件操作、容器调试和系统配置等方面的效率。

time3的博客 471

晟矽微MC32F7361定时器的使用案例说明

110所以TIMER0所用的频率是FCPU的1/64,也就是8/64MHZ. 为1/8MHZ。//io口下拉电阻 1:enable 0:disablea。//io口上拉电阻 1:enable 0:disable。//io口下拉电阻 1:enable 0:disable。//io口上拉电阻 1:enable 0:disable。//io口下拉电阻 1:enable 0:disable。//io口上拉电阻 1:enable 0:disable。

liyanfei123456的博客 1128

三菱FX3U PLC红绿灯ST编程实战:从基础逻辑到急停功能完整实现

本文以十字路口红绿灯控制为例,详细讲解了三菱FX3U PLC使用ST编程的完整实战过程。内容涵盖从基础时序逻辑、状态机设计,到急停功能、黄灯闪烁、昼夜模式切换等高级功能的实现,并提供了代码优化与调试技巧,帮助工程师掌握结构化文本在工业控制中的清晰、结构化应用。

weixin_29070861的博客 531

vscode运行.ipynb代码时提示需要安装ipykernel包的解决办法

此文目的是为了记录遇到的一些问题,也希望能帮助到和我一样遇到困难的同学。如需转载,请注明出处。在使用vscode运行.ipynb文件中提示需要安装ipykernel包的提示,在网上查询了很多方法之后也是终于解决了问题。写下这篇博客也希望能帮到大家。

qq_58018041的博客 4万+

RK3588多核NPU并行加速yolo优化教程:基于线程池的高性能推理实现

本教程详细介绍了RK3588多核NPU的并行加速优化方法。RK3588搭载三个独立NPU核心,总计算能力达6TOPS,但传统单线程方式无法充分发挥其性能。文章从硬件架构分析入手,详细讲解了三核心独立处理架构和多种工作模式,并通过代码示例展示了线程池技术的实现原理。线程池通过预创建工作线程、任务队列和条件变量等核心组件,避免了频繁创建线程的开销,能显著提升NPU的并行处理效率。教程还提供了性能计算公式和内存带宽优化策略,帮助开发者最大化利用RK3588的硬件算力,实现高性能AI推理。

LXY_LOVE36的博客 1022

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 838

网络发生环路了,别慌,这些步骤一定要安排起来!

网络环路是指在计算机网络中,数据包因为某种原因在多个网络设备之间不断循环,形成了一个闭环。这样数据包就永远也无法到达目标,导致网络的流量滞留,设备间的资源耗尽,最终网络性能受到严重影响。网络环路虽然是常见的网络故障,但只要掌握正确的排查和解决方法,面对环路问题时,你就能冷静应对,迅速恢复网络的正常运行。希望这篇文章能帮助你更好地理解和处理网络环路的问题,让你的网络环境更加稳定可靠!🚀📡如果你有任何疑问,或者在实际操作中遇到困难,随时可以联系我,我们一起攻克技术难题!

网络技术联盟站 1962

RK3588平台开发系列讲解(以太网篇)MDIO底层驱动

沉淀、分享、成长,让自己和他人都能有所收获!😄。

内核笔记 6879

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值