环境基准:Qt 6.11.0 · VS Code 1.121.0 · MSVC 2026 64bit · MinGW 13.1.0 64bit · Windows
写在前面:为什么不用 Qt Creator?
先说清楚一个常见疑问:Qt 官方有功能完备的 Qt Creator,为什么还要费劲折腾 VS Code?
我自己的答案是:当你的项目进入"混合技术栈"或者严重依赖 AI 辅助开发时,VS Code 的生态优势是压倒性的。
- 全栈开发不切 IDE:如果你的项目里 Qt 只是一部分(比如同时写 Qt 桌面端、C++ 后端服务、Python 数据脚本、甚至前端 Web 界面),全塞在 VS Code 一个编辑器里,远比在不同的 IDE 之间来回切换要舒服得多。
- AI 降维打击:如今开发少不了 AI 助力的加持。VS Code 拥有目前最强大的 AI 插件生态(如 GitHub Copilot、Cursor 生态、Cline 等)。无论是写复杂的信号槽逻辑、重构 C++ 代码,还是生成业务代码,AI 插件在 VS Code 里的响应速度和聪明程度,都远超相对闭塞的 Qt Creator。
但天下没有免费的午餐,VS Code 的代价是:它本身是个纯文本编辑器,根本不懂 Qt,所有底层的工具链都要你手动配齐。 这也是网上教程一大堆、却很少有人讲全的原因------大多数文章只含糊地覆盖了"CMake + MSVC"这一种组合,读者一旦换个编译器(如 MinGW)或构建系统(如老项目的 qmake)就直接报错。
本文的目标就是打破这种信息差,带你一次性把 Windows 下最核心的四种开发组合全部彻底跑通:
-
CMake 构建系统
- 搭配 MSVC 2026:Windows 平台下的主力推荐组合,原生支持最好。
- 搭配 MinGW 13.1:轻量化备选组合,适合不愿安装庞大 Visual Studio 的开发者。
-
qmake 构建系统
- 搭配 MSVC 2026:用于编译和维护基于旧版 qmake 构建的商业老项目。
- 搭配 MinGW 13.1:用于维护和跑通各类经典的 Qt 开源老代码。
从编译器环境、构建任务、断点调试到代码补全,提供一份真正的全覆盖"保姆级"实操指南。
一、先理解你装的这堆东西到底是什么
很多人配环境时一头雾水,是因为没搞清楚每个组件的角色。先花两分钟理清楚,后面就不会乱。
1.1 四个核心角色
编译器(MSVC / MinGW) :把 C++ 代码变成机器码的工具:
- MSVC :微软的编译器(
cl.exe),随 Visual Studio 2026 一起装的,Windows 原生支持最好。 - MinGW :GCC 在 Windows 上的移植版(
g++.exe),开源、跨平台习惯一致。
构建系统(CMake / qmake) :负责"指挥"编译器,告诉它哪些文件要编译、链接哪些库、生成什么。
- CMake:现代 C++ 事实标准,Qt 6 官方主推。跨平台、生态大。
- qmake :Qt 自家的老牌构建工具,配置文件是
.pro。新项目不推荐,但维护老项目绕不开。
Qt SDK(6.11.0) :Qt 的库本体 + 头文件 + 工具链。注意一个关键点:Qt 库是按编译器分别编译的。我的 Qt 安装目录结构是这样:
python
D:/appInstall/Qt/
├── 6.11.0/
│ ├── msvc2022_64/ ← 给 MSVC 用的 Qt 库
│ │ ├── bin/ (qmake.exe, windeployqt.exe, Qt6Core.dll ...)
│ │ ├── include/
│ │ └── lib/
│ └── mingw_64/ ← 给 MinGW 用的 Qt 库
│ ├── bin/
│ ├── include/
│ └── lib/
└── Tools/
├── mingw1310_64/bin/ ← MinGW 编译器 g++.exe
├── CMake_64/bin/ ← CMake cmake.exe
└── Ninja/ ← Ninja ninja.exe
第一个大坑预警 :MSVC 编译的程序,必须链接
msvc2022_64下的 Qt 库;MinGW 编译的程序,必须链接mingw_64下的库。混用必崩。后面所有配置都要对应好这个路径。
1.2 它们怎么协作
一次完整的构建流程是这样的:
bash
你写的 .cpp/.h
↓
构建系统(CMake/qmake) 读取配置,生成编译指令
↓
编译器(MSVC/MinGW) 执行编译,链接 Qt 库
↓
生成 .exe + 依赖的 Qt DLL
↓
运行
VS Code 的作用,就是把"触发构建""调试""看输出"这些操作集成到界面里。所以配置 VS Code 的本质,是告诉它:构建系统在哪、编译器在哪、Qt 库在哪 。
理解了这层,后面所有配置你都知道是在填哪个空。
二、安装 VS Code 扩展
打开 VS Code 扩展面板(Ctrl+Shift+X),装下面几个。
2.1 必装
C/C++ (Microsoft 出品,作者标识 ms-vscode.cpptools)
提供 C++ 语法解析、IntelliSense 代码补全、调试支持。这是地基。

CMake Tools (Microsoft 出品,ms-vscode.cmake-tools)
提供 CMake 项目的图形化操作:选编译器、配置、构建、运行一条龙。用 CMake 的话这个必装。

2.2 推荐
C/C++ Extension Pack :包含上面 C/C++ 加一些辅助工具,省得单独装。

2.3 关于 Qt 官方扩展
Qt 公司出了官方扩展 Qt C++(theqtcompany.qt-cpp),能识别 .ui、.qrc、.pro 文件,还能可视化设计界面。可以装,但不是必须 。本文的核心配置不依赖它,因为它对网络和账号有要求,很多人装了反而出问题。我建议先用纯 CMake Tools 跑通,确认环境没问题后,再决定要不要加官方扩展。
我自己的习惯:纯手动配置 + CMake Tools,不装 Qt 官方扩展。配置一次写好,换项目复制即可,可控性最高。
三、配置 MSVC 编译器
MSVC 是 Windows 上的首选。但它有一个"反直觉"的特性,必须先理解,否则后面怎么配都报错"找不到编译器"。
关于 Kit 名称显示"MSVC 2022"的说明
Kit 名称来自 Qt 库的文件夹名
msvc2022_64,与编译器版本无关------实际用的仍是你 Visual Studio 自带的cl.exe。MSVC 历来保持二进制向后兼容,VS2026 链接 msvc2022_64 库没有任何问题,VS2022 用户操作完全一致。
3.1 核心难点:MSVC 需要"环境初始化"
MinGW 的 g++.exe 是个独立程序,加到 PATH 里就能用。但 MSVC 的 cl.exe 不能直接运行 ------它依赖一大堆环境变量(头文件路径、库路径、SDK 版本等),这些变量需要通过一个叫 vcvarsall.bat 的脚本来设置。
直接在普通 cmd 里敲 cl,会提示找不到命令。

但从开始菜单打开:
yaml
开始菜单 → Visual Studio 2026 → x64 Native Tools Command Prompt for VS 2026
在这个终端里敲 cl,就能看到编译器版本信息了。区别就在于后者运行时自动执行了 vcvarsall.bat。

3.2 方案 A:从开发者终端启动 VS Code
最省事的方法:让 VS Code 继承开发者终端的环境变量。
- 打开
x64 Native Tools Command Prompt for VS 2026 cd到你的项目目录- 敲
code .启动 VS Code
css
code .
这样启动的 VS Code 自动拥有了 MSVC 的全部环境变量,CMake Tools 能直接找到 cl.exe。
缺点:每次都得这么开,麻烦。适合临时验证。
3.3 方案 B:让 CMake Tools 自动加载 MSVC 环境
CMake Tools 其实自带了扫描 Visual Studio 的能力,能自动找到 MSVC 并加载其环境,不需要特殊终端。
按 Ctrl+Shift+P,输入并执行:
makefile
CMake: Scan for Kits

扫描完成后再执行:
vbnet
CMake: Select a Kit
你会看到类似的选项列表:

选MSVC 2022 x64 (Qt)。CMake Tools 会自动在构建时加载 MSVC 环境,这就解决了 3.1 的问题,不用再开特殊终端。
如果列表里没有 Visual Studio 项,说明 CMake Tools 没扫描到。检查一下 VS 安装时是否勾选了"使用 C++ 的桌面开发"工作负载------Qt 需要的 MSVC 工具集就在这里面。
3.4 告诉 CMake 去哪找 Qt
编译器搞定了,还要告诉 CMake 库在哪。这是通过 CMAKE_PREFIX_PATH 变量实现的。
在项目根目录建 .vscode/settings.json:
json
{
"cmake.configureSettings": {
"CMAKE_PREFIX_PATH": "D:/appInstall/Qt/6.11.0/msvc2022_64"
}
}
路径确认 :去 Qt 安装目录看一眼实际文件夹名。Qt 6.11 配 VS2022 一般是
msvc2022_64。注意 JSON 里用正斜杠/或双反斜杠\,单反斜杠会被当转义符。
到这里 MSVC + CMake 的环境就配好了。先别急着跑,第五章有完整的 CMakeLists.txt 模板和操作步骤。
四、配置 MinGW 编译器
MinGW 比 MSVC 简单,g++.exe 不需要环境初始化,但有两个地方容易踩坑。
4.1 确认 MinGW 和 Qt 的路径
安装 Qt 时选了 MinGW 13.1.0,它在 Qt 的 Tools 目录下,而不是系统 PATH 里。先确认实际路径:
打开文件资源管理器,找到Qt 安装根目录,应该有类似这样的结构:
javascript
D:/appInstall/Qt/
├── 6.11.0/
│ ├── msvc2022_64/ ← MSVC 版 Qt 库
│ └── mingw_64/ ← MinGW 版 Qt 库(用这个)
└── Tools/
└── mingw1310_64/
└── bin/ ← g++.exe 在这里
记下这两个路径:
- MinGW 编译器:
D:/appInstall/Qt/Tools/mingw1310_64/bin - MinGW 版 Qt 库:
D:/appInstall/Qt/6.11.0/mingw_64
4.2 让 VS Code 找到 MinGW 编译器
CMake Tools 自动扫描编译器时,扫描的是系统 PATH。Qt 自带的 MinGW 默认不在系统 PATH 里,所以直接扫描可能找不到。
方法一(推荐):临时加入 PATH 后扫描
把 MinGW 的 bin 目录加入系统环境变量 PATH:
此电脑 → 右键属性 → 高级系统设置 → 环境变量 → 系统变量 → Path → 新建
填入:D:\appInstall\Qt\Tools\mingw1310_64\bin
加完之后重启 VS Code (必须重启,VS Code 启动时才读取 PATH),然后在状态栏点 Kit 选择,或命令面板执行 CMake: Scan for Kits,这次会出现:
GCC 13.1.0 x86_64-w64-mingw32
选这个就是 MinGW。
方法二:手动编辑 Kit 文件
如果不想改系统 PATH,可以直接编辑 CMake Tools 的 Kit 配置文件。
命令面板(Ctrl+Shift+P)→ 输入 CMake: Edit User Local CMake Kits → 回车
这会打开一个 JSON 文件,手动追加一项:
css
[ { "name": "MinGW 13.1.0 (Qt)", "compilers": { "CXX": "D:/appInstall/Qt/Tools/mingw1310_64/bin/g++.exe", "C": "D:/appInstall/Qt/Tools/mingw1310_64/bin/gcc.exe" }, "preferredGenerator": { "name": "MinGW Makefiles" } }]
保存后,状态栏的 Kit 列表里就会出现 MinGW 13.1.0 (Qt),直接选它。
4.3 切换 Qt 路径到 MinGW 版
⚠️ 这是最常见的坑:编译器和 Qt 库必须对应 。用 MinGW 编译,就必须链接 MinGW 版的 Qt 库(mingw_64),不能用 MSVC 版(msvc2022_64),两者 ABI 不兼容,链接必报错。
.vscode/settings.json 改成:
bash
{
"cmake.cmakePath": "D:/appInstall/Qt/Tools/CMake_64/bin/cmake.exe",
"cmake.configureSettings": {
"CMAKE_PREFIX_PATH": "D:/appInstall/Qt/6.11.0/mingw_64"
},
"cmake.environment": {
"PATH": "D:/appInstall/Qt/6.11.0/mingw_64/bin;D:/appInstall/Qt/Tools/mingw1310_64/bin;${env:PATH}"
}
}
两个路径都要加:
mingw_64/bin:运行时找 Qt DLL(Qt6Core.dll等)mingw1310_64/bin:运行时找 MinGW 自身的运行库(libstdc++-6.dll等)
少任何一个,运行时都会弹"找不到 xxx.dll"的错误框。
4.4 切换编译器后必须清理缓存
如果你之前用 MSVC 配置过,现在切换到 MinGW,必须删掉旧的 build 目录 ,否则 CMake 缓存里还保留着 MSVC 的配置,新的 Kit 选择不会生效。
命令面板(Ctrl+Shift+P)→ 输入:
makefile
CMake: Delete Cache and Reconfigure
回车,CMake Tools 会清空缓存并用新 Kit 重新配置。这个命令在 CMake Tools 激活后(即打开了含 CMakeLists.txt 的文件夹后)才能找到。
每次换编译器都要做这一步,这是不少人换了 Kit 却发现编译器还是旧的、百思不得其解的原因。
五、CMake 项目完整流程
环境配好了,现在跑真实项目。CMake 是 Qt 6 主推方式。
5.1 一个最小可运行的 CMakeLists.txt
先用最简单的例子验证环境,新建文件夹 hello_qt:
css
hello_qt/
├── CMakeLists.txt
├── main.cpp
└── .vscode/
└── settings.json
CMakeLists.txt:
scss
cmake_minimum_required(VERSION 3.20)
project(hello_qt VERSION 1.0 LANGUAGES CXX)
# C++ 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Qt 自动化工具:MOC(元对象)、RCC(资源)、UIC(界面文件)
# 用 Qt 必开,否则信号槽、Q_OBJECT 会链接报错
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# 查找 Qt6,需要 Widgets 模块
find_package(Qt6 REQUIRED COMPONENTS Widgets)
# 用 qt_add_executable 而不是普通 add_executable
# 它会自动处理 Qt 的特殊链接需求
qt_add_executable(hello_qt main.cpp)
target_link_libraries(hello_qt PRIVATE Qt6::Widgets)
main.cpp:
arduino
#include <QApplication>
#include <QPushButton>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QPushButton button("Qt + VS Code 环境正常!");
button.resize(300, 80);
button.show();
return app.exec();
}
.vscode/settings.json(MSVC 版):
json
{
"cmake.cmakePath": "D:/appInstall/Qt/Tools/CMake_64/bin/cmake.exe",
"cmake.configureSettings": {
"CMAKE_PREFIX_PATH": "D:/appInstall/Qt/6.11.0/msvc2022_64"
}
}
5.2 CMakeLists.txt 逐行解读
新手最容易把这个文件当"魔法咒语"复制,出问题就懵。这里讲清楚每段的作用:
CMAKE_AUTOMOC ON ------ Qt 的信号槽机制依赖一个叫 MOC(Meta-Object Compiler)的预处理器。任何带 Q_OBJECT 宏的类,都要先经过 MOC 生成额外代码。开了这个开关,CMake 自动处理,否则你会遇到诡异的链接错误 undefined reference to vtable。
AUTORCC / AUTOUIC ------ 分别自动处理 .qrc 资源文件和 .ui 界面文件,原理同上。
find_package(Qt6 REQUIRED COMPONENTS Widgets) ------ 让 CMake 去 CMAKE_PREFIX_PATH 指定的目录找 Qt6。Widgets 是模块名,按需添加:网络要加 Network,QML 要加 Quick。
qt_add_executable ------ Qt 6 提供的封装,比裸 add_executable 多处理了一些平台细节(比如 Windows 下不弹控制台窗口、macOS 打 Bundle)。
5.3 VS Code 里的操作步骤
打开 hello_qt 文件夹后:
第 1 步:选 Kit
点Cmake tools状态栏的 No Kit Selected(或按 Ctrl+Shift+P → CMake: Select a Kit),选你要的编译器(MSVC amd64 或 MinGW)。这里先选择MSVC。MinGW在5.4节给出。
第 2 步:配置(Configure)
正常情况下选完 Kit 会自动触发。手动触发可以 Ctrl+Shift+P → CMake: Configure。看 OUTPUT 面板,出现这样的输出就对了:

第 3 步:选构建类型
Cmake tools状态栏点 Debug 可以切 Debug / Release。开发时用 Debug(带调试符号),发布用 Release(优化、体积小)。

第 4 步:构建(Build)
按 F7 或点状态栏的 Build。

第 5 步:运行
按 Shift+F5(不调试运行),或点状态栏的 ▶ 图标。能弹出按钮窗口,环境就通了。

5.4 MinGW进行编译
以上是用cmake+msvc成功的编译并运行。下面是cmake+mingw的截图,也成功的运行了。



六、qmake 项目流程
如果你接手的是用 .pro 文件的项目,或者教程素材是 qmake 的,这一章帮你在 VS Code 里跑起来。CMake Tools 不管 qmake,所以要手动配置任务。
6.1 .pro 文件示例
qmake 的项目配置文件是 .pro,对应上面的 hello 例子:
makefile
# hello_qt.pro
QT += widgets
CONFIG += c++17
TARGET = hello_qt
TEMPLATE = app
SOURCES += main.cpp
QT += widgets 等价于 CMake 的 find_package + link Widgets,SOURCES 列出源文件。qmake 的语法比 CMake 简洁,这也是它当年流行的原因。
6.2 用 tasks.json 集成 qmake 命令
qmake 的构建是两步:先 qmake 生成 Makefile,再 make(MinGW 下是 mingw32-make,MSVC 下是 nmake)编译。
在 .vscode/tasks.json 配置(以 MinGW 为例):
bash
{
"version": "2.0.0",
"tasks": [
{
"label": "qmake",
"type": "shell",
"command": "D:/appInstall/Qt/6.11.0/mingw_64/bin/qmake.exe",
"args": ["${workspaceFolder}/hello_qt.pro", "-o", "Makefile"],
"options": { "cwd": "${workspaceFolder}/build" }
},
{
"label": "make",
"type": "shell",
"command": "D:/appInstall/Qt/Tools/mingw1310_64/bin/mingw32-make.exe",
"options": { "cwd": "${workspaceFolder}/build" },
"dependsOn": ["qmake"]
}
]
}
先手动建一个 build 文件夹,然后 Ctrl+Shift+P → Tasks: Run Task → 选 make,它会先跑 qmake 再编译。

这时候就会在目录里生成C:\Users\yuehui\Desktop\hello\build\release\hello_qt.exe文件。如果运行后有下面的报错:

在终端执行下面的命令即可:
arduino
D:\appInstall\Qt\6.11.0\mingw_64\bin\windeployqt.exe C:\Users\yuehui\Desktop\hello\build\release\hello_qt.exe

现在再运行hello_qt.exe就正常运行了。

6.3 MSVC 版的差异
如果用 MSVC 跑 qmake,命令换成对应路径,make 工具改成 nmake:
bash
{
"version": "2.0.0",
"tasks": [
{
"label": "qmake",
"type": "shell",
"command": "D:/appInstall/Qt/6.11.0/msvc2022_64/bin/qmake.exe",
"args": ["${workspaceFolder}/hello_qt.pro", "-o", "Makefile"],
"options": {
"cwd": "${workspaceFolder}/build"
}
},
{
"label": "nmake",
"type": "shell",
"command": "nmake",
"args": ["release"],
"options": {
"cwd": "${workspaceFolder}/build"
},
"dependsOn": ["qmake"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
在 VS Code 中,按下快捷键 Ctrl+Shift+P 打开命令面板。输入并选择 Tasks: Run Task(运行任务) -> 选 nmake 。

编译完成后,因为 MSVC 编译出来的 exe 同样存在找不到 DLL 的问题,我们要用配套的 MSVC 版打包工具去处理。在底部新建一个终端,直接运行以下打包命令:
arduino
D:\appInstall\Qt\6.11.0\msvc2022_64\bin\windeployqt.exe C:\Users\yuehui\Desktop\hello\build\release\hello_qt.exe

打包完成后,在终端里敲击或直接去文件夹里双击,即可完美运行:

注意 nmake 需要 MSVC 环境变量,所以这种情况还是建议从 3.2 的开发者终端启动 VS Code,否则 nmake 找不到。
七、配置调试(断点调试)
能跑还不够,得能打断点调试。这部分 MSVC 和 MinGW 用的调试器不同,分开讲。
如果你用的是 CMake 项目 ,请在项目根目录下创建 .vscode/launch.json。为了方便,可以把两个调试器配置同时写进去,届时在 VS Code 调试面板一键切换:
bash
{
"version": "0.2.0",
"configurations": [
{
"name": "调试 (MSVC)",
"type": "cppvsdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "PATH",
"value": "D:/appInstall/Qt/6.11.0/msvc2022_64/bin;${env:PATH}"
}
],
"console": "integratedTerminal"
},
{
"name": "调试 (MinGW/GDB)",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"MIMode": "gdb",
"miDebuggerPath": "D:/appInstall/Qt/Tools/mingw1310_64/bin/gdb.exe",
"environment": [
{
"name": "PATH",
"value": "D:/appInstall/Qt/6.11.0/mingw_64/bin;D:/appInstall/Qt/Tools/mingw1310_64/bin;${env:PATH}"
}
],
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
7.1 MSVC 配置关键点
type: cppvsdbg------ 这是 MSVC 专用调试器类型,MinGW 不能用这个。program: ${command:cmake.launchTargetPath}------ 这个变量由 CMake Tools 提供,自动指向当前构建出的 exe,不用手写路径。environment里的 PATH ------ 指向D:/appInstall/Qt/6.11.0/msvc2022_64/bin,让调试启动时能精准找到 MSVC 版的 Qt DLL。- 操作 :按
F5即可断点调试。
7.2 MinGW 配置关键点
type: cppdbg------(不是 vsdbg),配合MIMode: gdb使用。miDebuggerPath------ 精准指向你 Qt 目录下的 GDB 调试器:D:/appInstall/Qt/Tools/mingw1310_64/bin/gdb.exe。environment里的 PATH ------ 同时注入了 MinGW 版 Qt 库 bin 目录和编译器 bin 目录。setupCommands------ 开启 pretty-printing,否则看QString之类的变量是一堆乱码内存。
7.3 让调试器看懂 Qt 类型
默认调试时,鼠标悬停在 QString 上看到的是内部结构,不是字符串内容,很难受。
- MSVC 下 :Qt 安装目录里自带了
.natvis文件(类型可视化定义),通常 MSVC 调试器会自动加载。如果没生效,可以在 launch.json 里手动指定visualizerFile。 - MinGW/GDB 下 :靠上面配置里的
-enable-pretty-printing。开启之后QString直接显示字符串内容,QList显示元素列表,体验接近 Qt Creator。

八、配置 IntelliSense(代码补全与跳转)
构建和调试是 CMake Tools 管的,但代码补全、错误波浪线、跳转定义是 C/C++ 扩展管的,两者数据来源不同,要单独喂路径。
8.1 最省事的方案:让 C/C++ 扩展跟随 CMake
在 .vscode/settings.json 里加一行,让 IntelliSense 自动用 CMake 的配置信息:
json
{
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}
这是最推荐 的方式。CMake 配置时会生成 compile_commands.json(编译命令数据库),C/C++ 扩展读它就知道所有头文件路径,包括 Qt 的。补全、跳转全部自动生效,不用手写路径。
为了生成这个数据库,CMakeLists.txt 里加一行:
scss
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
8.2 手动方案:c_cpp_properties.json
如果上面的自动方案出问题,或者你使用的是 qmake 项目,无法通过 CMake 插件同步路径,可以手动指定头文件路径。
按 Ctrl+Shift+P → 输入 C/C++: Edit Configurations (JSON),编辑 .vscode/c_cpp_properties.json:
MSVC 专属手动配置:
bash
{
"configurations": [
{
"name": "Win32-MSVC",
"includePath": [
"${workspaceFolder}/**",
"D:/appInstall/Qt/6.11.0/msvc2022_64/include/**"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
MinGW 13.1.0 专属手动配置:
bash
{
"configurations": [
{
"name": "Win32-MinGW",
"includePath": [
"${workspaceFolder}/**",
"D:/appInstall/Qt/6.11.0/mingw_64/include/**"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"compilerPath": "D:/appInstall/Qt/Tools/mingw1310_64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
小结 :如果是 CMake 项目,优先用 8.1 的自动方案,省心且不会和实际编译路径脱节。8.2 仅作为 qmake 项目或自动方案失效时的兜底方案。
结语
把这套流程走完,你应该能体会到:VS Code 配 Qt 的所有"玄学问题",归根结底就三件事------编译器环境对不对、Qt 库路径对不对、自动化工具(MOC/RCC)开没开。理解了这三层,遇到任何报错都能往这三个方向去查。
[#Qt](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#Qt") [#VSCode](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#VSCode") [#CMake](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#CMake") [#qmake](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#qmake") [#MSVC](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#MSVC") [#MinGW](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#MinGW") [#C++](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#C++") [#开发环境](#Qt #VSCode #CMake #qmake #MSVC #MinGW #C++ #开发环境 "#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83")