【CMake入门学习教程】bash语句示例注解
我的CMake专栏
鉴于很多同学跟我私信bash语句的意思,所以先做出以下示例注解。
今后的课程中我会对每一个涉及的 Bash(或 Windows 命令行)命令都做详细注解。下面我们先把当前这课出现的命令一一讲解清楚。
✅ 本课用到的 Bash / 命令行语句详解
🧱 1. 创建构建目录
mkdir build
✅ 意思: 在当前目录下创建一个名为
build
的子目录,用来存放构建生成的文件。
📌 这个命令适用于 Linux/macOS(终端)或 Windows(PowerShell / cmd)
在 cmd 里也可以直接用 mkdir build
,含义相同。
📂 2. 进入构建目录
cd build
✅ 意思: 切换到
build
目录中,准备在这个目录里运行 CMake。
-
cd
是 change directory 的缩写 -
可以用
cd ..
回到上一级目录
🏗️ 3. 配置项目并生成构建文件
cmake .. -G "Visual Studio 17 2022"
✅ 意思: 使用 CMake 来读取上一级目录(
..
)中的CMakeLists.txt
文件,生成 Visual Studio 工程。
参数解释:
-
..
:表示上一级目录,也就是源码所在的目录 -
-G
:指定 Generator,这里是Visual Studio 17 2022
(VS2022)
📌 如果你用的是 Qt Creator,也会自动使用 CMake 命令进行类似的生成过程。
🔨 4. 编译工程
cmake --build . --config Release
✅ 意思: 使用 CMake 来执行构建命令(比如调用 VS 的 MSBuild 或 GNU make),编译当前目录
.
中的构建工程,并指定使用 Release 模式。
参数解释:
-
--build .
:构建当前目录 -
--config Release
:使用 Release 配置(适用于 Visual Studio)
若你使用的是 Makefile 系统,则不需要 --config
参数(详见下条)。
🧰 5. 另一种构建方式(MinGW)
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
mingw32-make
✅ 意思: 用 MinGW 工具链生成 Makefile,并用
mingw32-make
编译。
参数解释:
-
-DCMAKE_BUILD_TYPE=Release
:设置构建类型为 Release(适用于 Makefile / Ninja) -
mingw32-make
:MinGW 提供的 make 工具
📌 这一方式只在你已经安装了 MinGW 编译器时可用。
🔁 命令对照总结表
命令 | 含义说明 |
---|---|
mkdir build | 创建构建目录 |
cd build | 进入构建目录 |
cmake .. | 读取上层的 CMakeLists.txt |
-G "Visual Studio..." | 指定用什么构建系统 |
--build . | 执行构建命令 |
--config Release/Debug | 指定构建类型(仅适用于 VS) |
-DCMAKE_BUILD_TYPE=Debug | 设置构建类型(用于 Make/Ninja) |
make 或 mingw32-make | 执行实际的编译操作 |
今后的所有 Bash / cmd 语句,我都会以这样的方式附带讲解。
我的CMake专栏