使用cmake的笔记

CMakeLists.txt配置

  1. 必要三个参数
1
2
3
4
5
6
7
8
    # 配置最低版本
    cmake_minimum_required(VERSION 2.8.12)
    # 配置项目名称
    project(project_name)
    # 配置编译器
    set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
    # 添加可执行文件
    add_executable(main main.c) 
  1. 简单为项目添加构建目标
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
    # 配置最低版本
    cmake_minimum_required(VERSION 2.8.12)
    # 配置项目名称
    project(project_name)
    # 配置编译器
    set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
    # 导入头文件
    include_directories(${PROJECT_SOURCE_DIR}/include)
    # 指定第三方库
    link_libraries(lib_name1)
    link_libraries(lib_name2)
    # 指定库路径
    link_directories(${PROJECT_SOURCE_DIR}/lib_path)
    # 指定源文件
    file(GLOB_RECURSE SOURCES "${PROJECT_SOURCE_DIR}/src/*.c")
    # 添加可执行文件
    add_executable(${CMAKE_PROJECT_NAME} ${SOURCES})

配置cmake

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    # 简单配置
    cmake -S . -B build (-DCMAKE_BUILD_TYPE=Release 可有可无)
    # 带参数配置
    cmake -DCMAKE_BUILD_TYPE:STRING=Debug            // 调试 or 发布
    / -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE      // 生成编译命令
    / -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/aarch64-linux-gnu-gcc    // 指定编译器
    / --no-warn-unused-cli                           // 忽略未使用的参数
    / -S/your_project_path                           // 源码路径
    / -B/your_project_path/build                     // 构建路径
    / -G Ninja                                       // 使用Ninja构建

构建

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
    cmake --build build                        // 构建

    # 补充
    cmake --build build --target all            // 构建全部
    cmake --build build --target clean           // 清空构建
    cmake --build build --target install         // 安装
    cmake --build build --target uninstall        // 卸载
    cmake --build build --target run              // 运行
    cmake --build build --target test             // 测试
    cmake --build build --target package          // 打包
    cmake --build build --target package_source    // 打包源码

添加运行/调试需要传入的参数

1. 直接使用cmake tool调试,需要给cmake传入参数,在Settings.json中添加以下内容
```
  "cmake.debugConfig": {
      "args": [
      "arg1",
      "arg2",
      "...."
      ]
  }
```

2. 如果是vscode gdb 启动,需要添加启动配置,可以在launch.json中添加设置(运行环境是./vscode)
>   有空可以研究一下vscode的三个配置文件(tasks.json, launch.json, settings.json)

建议使用vscode+cmake插件 因为cmake插件可以快捷设置cmake参数,自动生成编译命令,可以实时编译 可以用cmake插件生成调试配置,用vscode调试可以图形化显示变量,添加断点,单步运行,更简单直观调试流程

文章有帮到您的话,请我喝杯奶茶吧ヾ(●´∀`●)
莫德飞 支付宝支付宝
莫德飞 微信微信
0%