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 .

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

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

相关推荐
匆匆那年9678 小时前
VSCode 远程 Linux 使用Codex
linux·ide·vscode
银河外卖员11 小时前
VMware 虚拟机安装 Windows 10 系统详细图文教程
windows·vmware
渣渣灰958712 小时前
Windows 10 环境部署 Claude Code 教程
windows·vscode·calude code
元Y亨H13 小时前
Windows 内置管理员 (Administrator) 账户重命名指南
windows
水饺编程13 小时前
第5章,[Win32 章节] :几种典型的颜色
c语言·c++·windows·visual studio
STDD13 小时前
Samba 文件共享:Linux 服务器与 Windows/Mac 共享文件夹
linux·服务器·windows
在繁华处14 小时前
轻棋局(一):项目总览与架构设计
人工智能·windows
灰色人生qwer15 小时前
Python 规则:带默认值的参数必须放在不带默认值的后面
linux·windows·python
水饺编程18 小时前
编程基础:令牌粘贴指令,【##】
c语言·c++·windows·visual studio