一、前提(你已经满足)
- 你有 CMakeLists.txt
- 你有 main.cpp
- 你装了 MinGW 或 MSVC
- 你装了 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
五、超级重要说明
-
..意思是返回上一级目录(因为 CMakeLists.txt 在上一层) -
所有命令都在 build 文件夹里执行
-
第一次执行需要
cmake ..
之后改代码只需要执行:bashmake 或者 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
使用方式
- 保存后,双击
build_run.bat - 自动删旧缓存 → 重新 CMake → 编译 → 直接运行
- 自带
chcp 65001,配合你 CMake 里的 UTF-8 配置,中文永久不乱码
四、日常开发最简操作
- 改完代码
- 要么:终端敲编译命令
- 要么:双击
build_run.bat
五、补充:修改代码后快速重编(不用全删重建)
只改 cpp、不改 CMakeLists.txt 时,不用删 build,直接:
MinGW
cmd
cd build
mingw32-make -j4
MSVC
cmd
cd build
cmake --build .
速度极快,适合频繁调试。
整套打包模板,你直接新建项目复制就能用吗?