关于cmake --build .的理解

2023-05-16

cmake --build .

该命令的含义是:执行当前目录下的构建系统,生成构建目标。

cmake项目构建过程简述:

1. 首先,使用命令行:‘cmake <source tree>’,比如:cmake .. ,在你的构建目录(外部构建方式)下生成了项目文件project files, 官方文档中又叫build tree/binary tree,这其中就包括,比如:Makefile,还有一些其他相关文件/目录/子目录;

2. 其次,自然是对生成好的项目(project files)进行编译构建,使用到的就是你说的'cmake --build .'

3. 最后,--build后面的那个‘.’,指的是生成好的build tree的路径. 一般来说,如果你明确知道,你的系统中使用的是哪种构建器(build generator), 比如:Unix Makefiles, 你完全可以直接使用make进行项目构建.

对于这种--build的形式,多用于自动化脚本之中,或者IDE环境下.

注: <source tree>指的是源文件+顶层CMakeLists所在的路径,cmake ..假设了路径在上一层.

通过cmake ./cmake .. 命令创建Makefile文件后,一般使用make命令编译文件。这里的cmake --build .就与make一样的效果

为什么不直接 make,而是使用 cmake --build 形式的命令,主要是为了跨平台,使用这种形式后,不管你是使用的什么生成器,CMake 都能正确构建,否则如果使用的是 Ninja 或者其他生成器,那 make 就不生效了
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于cmake --build .的理解 的相关文章

随机推荐

  • Ubuntu16.0 ——安装串口驱动

    Ubuntu16 0 安装串口驱动 步骤一 在终端输入sudo apt get install minicom安装串口驱动 步骤二 在终端输入sudo minicom s打开串口配置窗口如下图 使用方向键 选择 Serial port se
  • 串口通信

    1 什么是串口通信 xff1f 串口通信 xff08 Serial CommunicaTIon xff09 xff0c 是指外设和计算机间 xff0c 通过数据信号线 地线等 xff0c 按位进行传输数据的一种通讯方式 串口是一种接口标准
  • Linux 网络开发必学课程(七)UDP 数据收发实战、深入UDP 数据收发

    15 UDP 数据收发实战 再论 UDP 协议 UDP 是无连接的 不可靠的 xff0c 无应答消息 xff0c 数据包无序号标识 UDP 是面向数据包的 xff0c 对应用层数据既不合并也不拆分 xff08 保留数据包边界 xff0c 不
  • Java 删除非空文件夹

    Java中的File delete 方法只能删除文件或者空文件夹 xff0c 无法删除非空文件夹 xff0c 当是非空文件夹时 xff0c 方法返回false xff0c 下面写一个工具类 xff0c 采用递归方式 xff0c 实现删除非空
  • 在Jetson Nano上实现单目相机 apritag_ros识别

    一 xff0c apritag ros安装 最开始采用克隆源码编译的方式进行安装 xff0c 后来在Jetson nano上有opencv4与opencv3的依赖问题 xff0c 后来索性直接采用二进制安装 xff1a sudo apt g
  • rosserial arduino的安装及使用(ROS控制arduino,arduino创建ROS结点)

    一 xff0c 简介 这个教程展示如何安装arduino IDE和使用rosserial Arduino和Arduino IDE是进行硬件开发的非常好的辅助工具 rosserial arduino包可让ROS和ArduinoIDE一起工作
  • ROS多机通讯踩坑,(主机和从机之间可以订阅话题,但是看不到话题消息)

    在进行ROS分布式通讯的时候 xff0c 已经设置好HOST 而且指定master地址 在树莓派上能够使用rostopic list 查看话题列表 xff0c 但是 xff0c 监听话题时rostopic echo chatter没有内容
  • 基于Microhard P900无人机PIX飞控远距离数传解决方案

    基于Microhard P900无人机PIX飞控远距离数传解决方案 参考文章 xff1a xff08 1 xff09 基于Microhard P900无人机PIX飞控远距离数传解决方案 xff08 2 xff09 https www cnb
  • 串口服务器的作用和工作原理是什么

    要了解串口服务器的作用以及工作原理 xff0c 首先我们就要知道什么是串口服务器 xff0c 简单来说串口服务器就是一种网络通讯接口转换设备 xff0c 它可以将我们一些常见的RS232 RS485 RS422串口转换成TCP IP网络接口
  • C++ 程序编译过程

    C 43 43 程序编译过程 面试高频指数 xff1a 编译过程分为四个过程 xff1a 编译 xff08 编译预处理 编译 优化 xff09 xff0c 汇编 xff0c 链接 编译预处理 xff1a 处理以 开头的指令 xff1b 编译
  • 当源文件与头文件不在同一个目录下的Makefile的编写

    Makefile的作用 xff1a 告诉make命令怎样去编译和链接程序 1 程序的编译与链接 xff1a 编译 xff1a 就是把源文件编译成中间代码 xff0c 为 obj文件 链接 xff1a 把多个 obj文件链接在一块然后执行 主
  • Intel Realsense D435i相关资料

    本文转载自 https www chiphell com thread 1945054 1 1 html xff0c 文末有相关资料可下载查看 https www chiphell com thread 1945054 1 1 html 拿
  • 数据库防火墙&数据库加密与脱敏&数据泄露防护

    写在最前 xff1a 安全产品系列目录 xff1a 目录 amp 总述 数据库防火墙 解决数据库应用侧和运维侧两方面的问题 xff0c 是一款基于数据库协议分析与控制技术的数据库安全防护系统 主动防御 xff0c 实现数据库的访问行为控制
  • Qt里面的函数操作逻辑总结笔记

    Qt里面的函数操作逻辑总结 笔记笔记随时更改 1 xff0c 头文件 h 2 xff0c 源文件 cpp FB 61 函数 xff0c codesys和其他叫法有多不同 qt是c 43 43 的跨平台ui界面编程软件 xff0c 所以他的源
  • Java 接口的三种类型方法

    接口中的方法分别有以下三种 xff1a 1 普通方法 xff1a 使用default修饰的接口方法 xff0c 可以拥有方法体 xff0c 实现类不需要重写 xff0c 可以被实现类继承 xff0c 该特性是Java8以后被提出 xff1b
  • 使用一个for循环创建一个数组(Qt)

    一个for循环创建一个数组的方法 xff1a 主要是一个 取余和 除以的运用 span class token keyword for span span class token punctuation span span class to
  • vs2019提示系统资源不足

    刚换的新电脑 xff0c 8g内存稍微一万就占用80 以上 xff0c 很糟心 尤其在用vs2019的时候 xff0c 就运行一个简单的浮点型和双精度 xff0c 提示系统资源不足 xff0c 吓得我立马打开看看内存占用 xff0c 结果占
  • QT获取系统时间并显示在状态栏

    Qt获取系统时间 span class token comment h span span class token macro property span class token directive keyword include span
  • 2021-01-11

    C 43 43 指针随便笔记 sizeof 先说一个没有成员函数和参数的类 xff0c 占用一个字节 类中的成员函数 xff0c 作为外部指针时 xff0c 需要记得delete xff0c 否则会内存泄漏 指针的sizeof是指针本身的数
  • 关于cmake --build .的理解

    cmake build 该命令的含义是 xff1a 执行当前目录下的构建系统 xff0c 生成构建目标 cmake项目构建过程简述 1 首先 xff0c 使用命令行 cmake lt source tree gt 比如 xff1a cmak