美文网首页
CMake项目的编译流程

CMake项目的编译流程

作者: 极客开发者 | 来源:发表于2021-11-27 22:35 被阅读0次

1. 概述

CMake项目的主要目录存在一个 CMakeLists.txt 文件

我们有两种当时设置编译规则

  • 包含源文件的子文件夹包含 CMakeLists.txt 文件,主目录的 CMakeLists.txt 通过 add_subdirectory 添加子目录即可
  • 包含源文件的子文件夹未包含 CMakeLists.txt 文件,子目录编译规则体现在主目录的 CMakeLists.txt 文件

2. 编译流程

在 Linux 平台下使用 CMake 构建 C/C++ 工程的流程如下:

  • 编写 CMakeLists.txt 规则
  • 执行 cmake $PATH 生成 Makefile(PATH 是CMakeLists.txt 所在的顶层目录)
  • 执行 make 进行编译

注意一下 Linux 以下几个文件目录知识

  • .或者 ./ 代表当前目录
  • ..或者 ../ 代表上一级目录
  • ../..或者 ../../ 代表上上一级目录

3. CMake的两种构建方式

3.1. 内部构建 (in-source build) : 不推荐使用

内部构建会产生很多中间文件,这些文件并不是我们最终想要的,和工程源代码文件放在一起会显得杂乱无章。

内部构建示例

# 在项目源代码根目录下,使用  cmake 指令解析 CMakeLists.txt ,生成 Makefile 和其他文件
cmake .
# 执行 make 命令,生成 target
make

3.2. 外部构建 (out-of-source build) : 推荐使用

将编译的目录和源代码目录区分开来,放在不同目录中

外部编译示例

# 1. 在当前目录下,创建 build 文件夹
mkdir build
# 2. 进入build目录
cd build
# 3. 解析上级目录的 CMakeLists.txt ,生成 Makefile 和其他文件
cmake ..
# 4. 执行 make ,生成 target
make

相关文章

  • CMake项目的编译流程

    1. 概述 CMake项目的主要目录存在一个 CMakeLists.txt 文件 我们有两种当时设置编译规则 包含...

  • 使用CMake编译C/C++程序

    官方手册 CMake Tutorial CMake Reference 作用 定义程序编译规则 基本流程 编写C...

  • cmake用法

    示例源码在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 编写 CMake 配置...

  • CMake

    Cmake是一种工具, 通过读取CMakeList.txt来定制项目的编译流程, 从而生成特定平台相关的MakeF...

  • CMake - 让人头痛的止痛药

    CMake 编译 CMake Manual CMake Tutorial User Interaction Gui...

  • android cmake 简介

    一、简单介绍 a、在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 二、简单使用...

  • Android工程中引入ffmpeg,简单使用ffmpeg

    总体流程 要求:linux环境,ndk编译工具,ffmpeg库,android中的cmake工程 1,在linux...

  • 边干边学CMake 1

    Cmake是一个开源的跨平台的C/C++程序编译流程配置工具。本文主要讲解CMake使用入门,为了实践本文所讲解的...

  • Cmake 简单使用

    一. CMake编译原理   CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主...

  • cmake使用

    tags: 嵌入式categories: 开发 cmake 总结 交叉编译 设置编译器CMAKE_FORCE_C_...

网友评论

      本文标题:CMake项目的编译流程

      本文链接:https://www.haomeiwen.com/subject/xraqxrtx.html