建议项目结构如下:
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)
平台 | 推荐工具 |
---|---|
Linux / macOS | gcc, clang, make, ninja |
Windows (MinGW) | MinGW-w64,MSYS2,配置好环境变量(gcc, make) |
mkdir build
cd build
cmake ..
cmake -G "MinGW Makefiles" ..
cmake --build .
./HelloC
.\HelloC.exe
your_project/
├── CMakeLists.txt
├── main.c
└── build/
├── CMakeCache.txt
├── CMakeFiles/
├── Makefile
├── cmake_install.cmake
└── HelloC
your_project/
├── CMakeLists.txt
├── main.c
└── build/
├── CMakeCache.txt
├── CMakeFiles/
├── Makefile
├── cmake_install.cmake
└── HelloC.exe
操作 | 命令示例 | 说明 |
---|---|---|
构建项目 | cmake --build . |
自动调用构建工具 |
清理构建产物 | cmake --build . --target clean |
删除中间文件(非源码) |
指定目标构建 | cmake --build . --target HelloC |
构建指定 target |
使用 Ninja 构建系统 | cmake -G "Ninja" .. |
更快,需预装 Ninja |
设置 Release 模式 | cmake -DCMAKE_BUILD_TYPE=Release .. |
仅适用于单配置生成器(非 Visual Studio) |
操作 | 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 |
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
-G "MinGW Makefiles"
,避免默认生成 Visual Studio 工程。cmake --build . --target clean
清除构建产物,但保留缓存和构建文件。CMake 构建流程简单且跨平台:
cmake
生成构建文件cmake --build .
编译通过合理配置和跨平台命令,CMake 方便地支持多操作系统和构建工具。
- 本节内容已经全部介绍完毕,希望通过这篇文章,大家对
CMake
有了更深入的理解和认识。- 感谢各位的阅读和支持,如果觉得这篇文章对你有帮助,请不要吝惜你的点赞和评论,这对我们非常重要。再次感谢大家的关注和支持!点我关注❤️