【CMake】使用 CMake 构建 C/C++ 项目的标准流程详解

LuckiBit

目录

  • ️ 使用 CMake 构建 C/C++ 项目的标准流程详解
    • 目录
    • 1️⃣ 项目结构约定
    • 2️⃣ 跨平台构建环境准备
    • 3️⃣ 标准构建流程
    • 4️⃣ 构建后目录结构示例
      • Linux/macOS
      • Windows + MinGW
    • 5️⃣ 常用构建操作命令
    • 6️⃣ 跨平台命令对照表
    • 7️⃣ 注意事项与最佳实践
    • 8️⃣ 总结
    • 相关文章:

️ 使用 CMake 构建 C/C++ 项目的标准流程详解


目录

  1. 项目结构约定
  2. 跨平台构建环境准备
  3. 标准构建流程
  4. 构建后目录结构示例
  5. 常用构建操作命令
  6. 跨平台命令对照表
  7. 注意事项与最佳实践
  8. 总结

1️⃣ 项目结构约定

建议项目结构如下:

your_project/
├── CMakeLists.txt       # CMake 配置文件
├── main.c               # 源代码示例
└── build/               # 构建目录(建议 Out-of-Source)

示例 main.c

#include 

int main() {
    printf("Hello, CMake!\n");
    return 0;
}

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(HelloC C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

add_executable(${PROJECT_NAME} main.c)

2️⃣ 跨平台构建环境准备

平台 推荐工具
Linux / macOS gcc, clang, make, ninja
Windows (MinGW) MinGW-w64,MSYS2,配置好环境变量(gcc, make)

3️⃣ 标准构建流程

  1. 创建构建目录,进入:
mkdir build
cd build
  1. 配置项目
  • Linux/macOS:
cmake ..
  • Windows + MinGW:
cmake -G "MinGW Makefiles" ..
  1. 编译项目:
cmake --build .
  1. 运行生成的可执行文件:
  • Linux/macOS:
./HelloC
  • Windows:
.\HelloC.exe

4️⃣ 构建后目录结构示例

Linux/macOS

your_project/
├── CMakeLists.txt
├── main.c
└── build/
    ├── CMakeCache.txt
    ├── CMakeFiles/
    ├── Makefile
    ├── cmake_install.cmake
    └── HelloC

Windows + MinGW

your_project/
├── CMakeLists.txt
├── main.c
└── build/
    ├── CMakeCache.txt
    ├── CMakeFiles/
    ├── Makefile
    ├── cmake_install.cmake
    └── HelloC.exe

5️⃣ 常用构建操作命令

操作 命令示例 说明
构建项目 cmake --build . 自动调用构建工具
清理构建产物 cmake --build . --target clean 删除中间文件(非源码)
指定目标构建 cmake --build . --target HelloC 构建指定 target
使用 Ninja 构建系统 cmake -G "Ninja" .. 更快,需预装 Ninja
设置 Release 模式 cmake -DCMAKE_BUILD_TYPE=Release .. 仅适用于单配置生成器(非 Visual Studio)

6️⃣ 跨平台命令对照表

操作 Linux/macOS Windows (MinGW)
创建目录 mkdir build && cd build mkdir build && cd build
配置 cmake .. cmake -G "MinGW Makefiles" ..
编译 cmake --build . cmake --build .
运行 ./HelloC .\HelloC.exe
清理 cmake --build . --target clean cmake --build . --target clean

7️⃣ 注意事项与最佳实践

  • Out-of-Source 构建:推荐单独构建目录,避免源码目录污染。
  • 工具链选择:Windows 推荐 MinGW 或 MSYS2 以使用 GNU 工具链。
  • CMake 最低版本:建议 ≥ 3.10,兼容主流功能。
  • 设置 C 标准
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
  • 生成器选择:Windows 下指定 -G "MinGW Makefiles",避免默认生成 Visual Studio 工程。
  • 清理构建cmake --build . --target clean 清除构建产物,但保留缓存和构建文件。
  • 多配置生成器:Visual Studio 支持多配置,MinGW 和 Makefiles 是单配置。

8️⃣ 总结

CMake 构建流程简单且跨平台:

  • 建议使用 Out-of-Source 构建
  • 运行 cmake 生成构建文件
  • 通过 cmake --build . 编译
  • 运行生成的程序

通过合理配置和跨平台命令,CMake 方便地支持多操作系统和构建工具。


  1. 本节内容已经全部介绍完毕,希望通过这篇文章,大家对 CMake 有了更深入的理解和认识。
  2. 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论,这对我们非常重要。再次感谢大家的关注和支持!点我关注❤️

相关文章:

  • 指针的神秘探险:从入门到精通的奇幻之旅 !

你可能感兴趣的:(【CMake】使用 CMake 构建 C/C++ 项目的标准流程详解)