CMake构建C++项目的核心是编写CMakeLists.txt并执行“配置→构建”两阶段流程:先用cmake生成构建文件,再用cmake --build调用底层工具编译;支持跨平台、不依赖IDE、可复用。

用CMake构建C++项目,核心是写好CMakeLists.txt,然后用命令行驱动生成和编译。不依赖IDE、跨平台、可复用——这是它最实在的好处。
准备一个最小可运行的CMake项目
先建个简单结构:
my_project/- ├──
CMakeLists.txt - └──
main.cpp
在main.cpp里写个“Hello World”;CMakeLists.txt内容如下:
cmake_minimum_required(VERSION 3.10) project(MyApp)set(CMAKE_CXX_STANDARD 17)
立即学习“C++免费学习笔记(深入)”;
add_executable(MyApp main.cpp)
这四行就定义了:最低CMake版本、项目名、C++标准、要生成的可执行文件及源码。
从配置到编译:三步走
打开终端,进入my_project目录后执行:
-
mkdir build && cd build—— 创建独立构建目录(推荐,避免污染源码) -
cmake ..—— 从上级目录读取CMakeLists.txt,生成本地构建文件(如Unix Makefiles或Visual Studio方案) -
cmake --build .—— 调用底层构建工具(make、ninja等)完成编译
成功后,build/MyApp(Linux/macOS)或build/MyApp.exe(Windows)就能直接运行。
Android文档-开发者指南-第一部分:入门-中英文对照版 Android提供了丰富的应用程序框架,它允许您在Java语言环境中构建移动设备的创新应用程序和游戏。在左侧导航中列出的文档提供了有关如何使用Android的各种API来构建应用程序的详细信息。第一部分:Introduction(入门) 0、Introduction to Android(引进到Android) 1、Application Fundamentals(应用程序基础) 2、Device Compatibility(设备兼容性) 3、
添加头文件和多源文件支持
如果项目有include/目录和多个.cpp文件,修改CMakeLists.txt:
include_directories(include) # 告诉编译器头文件在哪
add_executable(MyApp
main.cpp
src/utils.cpp
src/log.cpp
)更现代的写法是用target_include_directories(推荐):
add_executable(MyApp main.cpp src/utils.cpp src/log.cpp) target_include_directories(MyApp PRIVATE include)
PRIVATE表示头路径只用于MyApp本身,不影响它依赖的其他目标。
链接第三方库(以fmt为例)
假设你用vcpkg或手动安装了fmt库:
- 用
find_package(fmt REQUIRED)查找库 - 用
target_link_libraries(MyApp PRIVATE fmt::fmt)链接
完整示例:
find_package(fmt REQUIRED) add_executable(MyApp main.cpp) target_link_libraries(MyApp PRIVATE fmt::fmt)
CMake会自动处理头文件路径和链接参数,不用硬编码-I或-lfmt。
基本上就这些。CMake入门不难,关键是理解“配置(cmake)→ 构建(cmake --build)”的两阶段逻辑,以及target_*系列命令如何精准控制每个目标的行为。









