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 .

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

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

相关推荐
郝学胜_神的一滴2 天前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
郝学胜_神的一滴4 天前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake
郝学胜_神的一滴6 天前
CMake 026:属性体系精讲、四大作用域全解 & 实战代码落地
c++·cmake
郝学胜_神的一滴11 天前
CMake 021: IF 条件判据详诠
c++·cmake
qq_3692243312 天前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
阿米亚波12 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
caimouse12 天前
Reactos 第 10 章 网络操作 — 10.3.1 NIC驱动
网络·windows
初圣魔门首席弟子12 天前
Node.js 详细介绍(知识库版)
windows·qt·node.js·知识库
郝学胜-神的一滴12 天前
CMake 019:程序生成与清理全解析
开发语言·c++·qt·程序人生·软件构建·cmake
爱就是恒久忍耐12 天前
VSCode里如何比较2个branch
ide·vscode·编辑器