尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 创建

在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 创建
📅 发布时间:2026/6/20 1:12:04

在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发,是一个轻量级但功能强大的开发环境。下面我将分步骤详细说明如何搭建这个开发环境,支持纯 C++ 和 Qt 项目。
在这里插入图片描述


? 所需工具安装

1. 安装 Visual Studio Code(VSCode)

  • 下载地址:https://code.visualstudio.com/
  • 安装后建议安装以下扩展(推荐):
    • C/C++(微软官方)
    • CMake
    • CMake Tools
    • Ninja(可选)
    • Qt Tools(用于 Qt 项目)

可直接搜索安装:Extensions: Install Extension (Ctrl+Shift+X),输入关键词如 CMake, Qt, C/C++


2. 安装 CMake

  • 下载地址:https://cmake.org/download/
  • 推荐使用图形化安装程序,并勾选“Add to system PATH”选项。
  • 验证是否安装成功:
cmake --version

3. 安装 Ninja

  • 下载地址:https://github.com/ninja-build/ninja/releases
  • 下载 ninja.exe,放到系统路径中(如 C:\Windows\System32)或添加到 PATH
  • 验证是否安装成功:
ninja --version

4. 安装编译器

方式一:MinGW-w64(推荐轻量级)
  • 下载地址(推荐使用 MSYS2 提供的版本):
    • https://sourceforge.net/projects/mingw-w64/files/ (这个官方链接提供的文件不能直接使用)
    • https://github.com/niXman/mingw-builds-binaries/releases
  • 安装后将其 bin 目录加入系统 PATH
  • 验证:
g++ --version
gcc --version
方式二:Visual Studio Build Tools(MSVC 编译器)
  • 官网下载:https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022
  • 安装时选择 “C++ 构建工具”
  • 需要使用 x64 Native Tools Command Prompt for VS 来调用编译器

5. 安装 Qt(仅用于 Qt 项目)

  • 下载在线安装器:https://www.qt.io/download
  • 推荐选择 Qt Online Installer
  • 安装时选择:
    • Qt 版本(如 Qt 6.5.x MinGW 11.2.0 64-bit)
    • Qt Creator(可选)
  • 安装完成后,确保 Qt 的 bin 路径加入系统 PATH(如 C:\Qt\Tools\mingw1120_64\bin)

?️ 配置 VSCode + CMake + Ninja

1. 设置默认构建工具为 Ninja

打开 VSCode,按下 Ctrl+Shift+P,输入并运行:

CMake: Configure

选择你的编译器(例如 MinGW GCC x86_64),然后会自动生成 CMakeCache.txt 文件。

你也可以手动设置默认生成器,在 .vscode/settings.json 中添加:

{
"cmake.generator": "Ninja"
,
"cmake.configureOnOpen": true
,
"cmake.buildDirectory": "${workspaceFolder}/build"
}

2. 基础目录结构示例

my_project/
├── CMakeLists.txt
├── src/
│ └── main.cpp
├── build/ (CMake 生成文件)
└── .vscode/
├── settings.json
├── tasks.json
└── launch.json

3. 示例 CMakeLists.txt(C++ 项目)

cmake_minimum_required(VERSION 3.16)
project(MyApp)
set(CMAKE_CXX_STANDARD 20)
add_executable(myapp src/main.cpp)

4. 示例 CMakeLists.txt(Qt 项目)

cmake_minimum_required(VERSION 3.16)
project(QtApp)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUI ON)
find_package(Qt6 COMPONENTS Widgets REQUIRED)
add_executable(QtApp
src/main.cpp
src/mainwindow.cpp
src/mainwindow.h
src/mainwindow.ui
)
target_link_libraries(QtApp PRIVATE Qt6::Widgets)

5. 配置调试器(launch.json)

{
"version": "0.2.0"
,
"configurations": [
{
"name": "GDB Debug"
,
"type": "cppdbg"
,
"request": "launch"
,
"program": "${workspaceFolder}/build/myapp.exe"
,
"args": []
,
"stopAtEntry": false
,
"cwd": "${workspaceFolder}"
,
"environment": []
,
"externalConsole": true
,
"MIMode": "gdb"
,
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe"
}
]
}

6. 配置任务(tasks.json)

{
"tasks": [
{
"label": "CMake Configure"
,
"type": "shell"
,
"command": "cmake"
,
"args": ["-B"
, "${workspaceFolder}/build"
, "-G"
, "Ninja"]
,
"group": {
"kind": "build"
, "isDefault": true
}
,
"problemMatcher": ["$cmake"]
}
,
{
"label": "CMake Build"
,
"type": "shell"
,
"command": "cmake"
,
"args": ["--build"
, "${workspaceFolder}/build"]
,
"group": {
"kind": "build"
, "isDefault": true
}
,
"problemMatcher": ["$cmake"]
}
]
,
"version": "2.0.0"
}

✅ 使用流程总结

  1. 打开项目根目录(含 CMakeLists.txt);
  2. VSCode 会自动运行 CMake: Configure(根据 .vscode/settings.json);
  3. 按 Ctrl+Shift+B 构建项目;
  4. 按 F5 启动调试;
  5. 修改代码后重新构建即可运行新版本;

? 测试一个 Qt 项目(main.cpp)

#
include <QApplication>#include <QLabel>int main(int argc,char *argv[]) {QApplication app(argc, argv);QLabel label("Hello from Qt!");label.show();return app.exec();}

确保你的 mainwindow.ui、.h、.cpp 文件也存在并被正确引用。


? 小贴士

  • 如果使用 MSVC 编译器,请确保从 VS 自带终端启动 VSCode;
  • Qt 项目需要确保所有依赖库都在 PATH 或链接正确;
  • 可以使用 qmake 或 Qt Creator 作为替代方案,但 VSCode 更加轻便灵活;
  • 对于大型项目,可以结合 conan 或 vcpkg 管理第三方库。

相关新闻

  • UNION 与 UNION ALL 的区别 - 详解
  • 实用指南:第三十三天打卡复习
  • 排序综合

最新新闻

  • 如何彻底解决Windows C盘爆红问题:终极清理工具使用指南
  • 终极指南:如何通过FanControl实现Windows系统风扇精准控制与静音优化
  • p056基于spark的短视频推荐系统的设计与实现1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_可以扫码
  • 本地AI Agent选型指南:无GPU、断网、零运维场景下的四大框架实测
  • Legacy iOS Kit终极指南:免费解锁旧iPhone/iPad完整控制权
  • 五艘无人艇分布式围捕编队控制仿真研究(Matlab代码实现)

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号