Windows + VSCode + CMake 编译

一、前提(你已经满足)

  1. 你有 CMakeLists.txt
  2. 你有 main.cpp
  3. 你装了 MinGW 或 MSVC
  4. 你装了 CMake 命令 (cmd 里输入 cmake --version 能看到版本)

可直接ctrl + shift + P 通过界面进行配置和编译,以下是命令行编译

二、最标准的 3 步编译命令(任何项目都通用)

第 1 步:创建 build 文件夹(存放编译中间文件)

bash 复制代码
mkdir build
cd build

作用:把所有临时文件丢进 build,不污染源码,这是行业标准做法。


第 2 步:CMake 生成构建文件

如果你用 MinGW(最常用)

bash 复制代码
cmake .. -G "MinGW Makefiles"

如果你用 MSVC

bash 复制代码
cmake ..

(MSVC 不用指定生成器,cmake 会自动识别)


第 3 步:编译生成 exe

MinGW

bash 复制代码
mingw32-make

或者

bash 复制代码
make

MSVC

bash 复制代码
cmake --build .

三、编译成功后,运行程序

bash 复制代码
你的项目名.exe

比如你写的是:

cmake 复制代码
add_executable(main main.cpp)

那就运行:

bash 复制代码
main.exe

四、总结

【MinGW 版本】

bash 复制代码
mkdir build
cd build
cmake .. -G "MinGW Makefiles"
mingw32-make
main.exe

【MSVC 版本】

bash 复制代码
mkdir build
cd build
cmake ..
cmake --build .
Debug/main.exe

五、超级重要说明

  1. .. 意思是返回上一级目录(因为 CMakeLists.txt 在上一层)

  2. 所有命令都在 build 文件夹里执行

  3. 第一次执行需要 cmake ..
    之后改代码只需要执行:

    bash 复制代码
    make
    或者
    cmake --build .

通过bat 脚本执行777

1. 新建文件 build_run.bat 放在项目根目录

🔹 MinGW 专用版
bat 复制代码
@echo off
chcp 65001 >nul
:: 清空旧构建缓存
rd /s /q build 2>nul
mkdir build
cd build
:: 生成+编译
cmake .. -G "MinGW Makefiles"
mingw32-make -j4
:: 运行
echo.
echo ========== 程序输出 ==========
main.exe
pause
🔹 MSVC 专用版
bat 复制代码
@echo off
chcp 65001 >nul
rd /s /q build 2>nul
mkdir build
cd build
cmake ..
cmake --build .
echo.
echo ========== 程序输出 ==========
Debug\main.exe
pause

使用方式

  1. 保存后,双击 build_run.bat
  2. 自动删旧缓存 → 重新 CMake → 编译 → 直接运行
  3. 自带 chcp 65001,配合你 CMake 里的 UTF-8 配置,中文永久不乱码

四、日常开发最简操作

  1. 改完代码
  2. 要么:终端敲编译命令
  3. 要么:双击 build_run.bat

五、补充:修改代码后快速重编(不用全删重建)

只改 cpp、不改 CMakeLists.txt 时,不用删 build,直接:

MinGW

cmd 复制代码
cd build
mingw32-make -j4

MSVC

cmd 复制代码
cd build
cmake --build .

速度极快,适合频繁调试。

整套打包模板,你直接新建项目复制就能用吗?

相关推荐
caimouse9 小时前
Reactos 第 4 章 对象管理 — 4.2 对象类型(Object Type)
c语言·windows·架构
caimouse9 小时前
Reactos 第 4 章 对象管理 — 4.4 对象的创建
windows·架构
Chase_______9 小时前
【Java基础 | 16】集合框架(下):Map、HashMap 与 TreeMap
java·windows
Aaswk10 小时前
Java项目:文件批量处理工具
java·开发语言·vscode·idea
San813_LDD10 小时前
[操作系统]虚拟机技术
linux·windows
阿昭L10 小时前
Windows堆管理
windows
caimouse10 小时前
Reactos 第 3 章 内存管理 — 【下篇】换出、Section、池
c语言·开发语言·windows·架构
Linlingu10 小时前
OpenClaw对接飞书机器人完整配置教程(长连接模式)
windows·机器人·飞书·办公自动化·数字员工·小龙虾
艺杯羹11 小时前
Claude Code 实现 Computer Use:让 AI 操控你的 Windows 电脑(MCP 平替方案)
vscode·ai·ai编程·模型·claude code
资源分享助手11 小时前
PeekDesktop:实现类似 macOS Sonoma 点击桌面预览(Windows工具教程)
windows·macos·点击回到桌面