使用 CMake 构建 C/C++ 项目
CMake 是一个元构建系统:CMakeLists.txt 描述目标与依赖,CMake 会生成本机构建文件(Makefile、Ninja 等)。建议使用源外(out-of-source)构建以保持源码树整洁。
CMakeLists.txt:
cmake_minimum_required(VERSION 3.16)project(hello C)add_executable(hello src/main.c)target_compile_features(hello PRIVATE c_std_11)构建步骤:
mkdir -p build && cd buildcmake -DCMAKE_BUILD_TYPE=Debug ..cmake --build .CMAKE_BUILD_TYPE=Debug|Release控制优化与调试信息-DCMAKE_C_FLAGS="-Wall -Wextra"打开更多警告
- 推荐使用
Ninja作为后端以获得更快的并行构建:cmake -G Ninja ..。 - 使用
find_package查找依赖,例如find_package(PkgConfig REQUIRED)并用pkg_check_modules。 - 将测试放在
tests/中,使用enable_testing()和add_test()。
为什么这很重要
Section titled “为什么这很重要”这个主题是构建可靠 Linux 开发流程的重要组成部分。对它有清晰的理解,会让后续任务变得更容易,因为你能更快地判断某一步是否缺失或使用不当。
- 在安全的测试环境中尝试这里展示的命令和配置。
- 比较这些概念在不同发行版或工具之间的适用差异。
- 记下一次实践中哪些步骤成功,哪些失败,这样下次遇到问题时更容易定位。
- 将这篇文章与系列中相关内容结合起来,加深整体理解。
- 跳过验证步骤,默认系统已经配置正确。
- 不对命令中的路径、软件包名称或工具版本进行适配,直接复制粘贴执行。
- 把这个主题当成孤立的技巧,而不是整个开发流程的一部分。