CMake通过CMakeLists.txt生成跨平台构建文件,基本流程包括:创建项目结构,编写配置文件设置标准与目标,外部构建目录运行cmake生成Makefile或IDE项目,编译链接可执行文件,支持依赖管理、安装测试及多平台扩展。

CMake 是一个跨平台的构建系统生成器,广泛用于 C++ 项目中。它通过 CMakeLists.txt 文件描述项目的构建逻辑,并生成适用于不同编译环境(如 Make、Ninja、Visual Studio 等)的构建文件。下面介绍如何使用 CMake 构建 C++ 项目的基本流程。
一个典型的 C++ 项目目录结构如下:
my_project/在项目根目录下创建 CMakeLists.txt 文件,这是 CMake 的核心配置文件。
在项目根目录的 CMakeLists.txt 中写入以下内容:
立即学习“C++免费学习笔记(深入)”;
cmake_minimum_required(VERSION 3.10)
project(MyProject LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(${PROJECT_NAME}
src/main.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE include)
说明:
CMake 推荐使用“外部构建”方式,避免生成文件污染源码目录。
在项目根目录执行以下命令:
mkdir build这会读取上级目录的 CMakeLists.txt 并生成对应的构建系统文件(如 Makefile)。
如果想使用 Ninja 生成器:
cmake -G "Ninja" ..生成构建文件后,开始编译:
cmake --build .等价于在 Makefile 环境下执行 make,在 Ninja 下执行 ninja。
编译成功后,可在 build 目录下看到生成的可执行文件(如 MyProject 或 MyProject.exe)。
若项目依赖外部库,例如使用 fmt 库格式化输出:
方法一:使用 find_package(适用于已安装的库)
find_package(fmt REQUIRED CONFIG)方法二:直接包含源码或预编译库
# 假设库放在 external/fmt确保 external/fmt 中有 CMakeLists.txt 支持子目录构建。
CMake 可生成 Visual Studio 或 Xcode 项目:
# 生成 Visual Studio 2022 解决方案cmake -G "Xcode" ..
生成后可用对应 IDE 打开 .sln 或 .xcodeproj 文件进行开发。
添加安装规则:
install(TARGETS ${PROJECT_NAME}运行安装:
cmake --build . --target install添加基本测试:
enable_testing()运行测试:
ctest基本上就这些。CMake 的优势在于跨平台和模块化,合理组织 CMakeLists.txt 能让项目更易维护和扩展。
以上就是c++++中如何使用CMake构建项目_CMake项目构建流程指南的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号