catkin_make

2023-05-16

  普通情况下编译文件都是使用cmake,make工具,与此有关的内容可以参考:cmake,CMakeLists.txt,make,makefile的关系

  但ROS中还有catkin_make,不清楚他们之间的关系,写这篇了解一下,主要区别如下:

  1. 常规的编译的过程大致有两步:1.cmake 2.make catkin_make就是把这两步做了一个封装,一步即可完成。也就是catkin_make等效于以下指令:
$ cd ~/catkin_ws
$ cd src
$ catkin_init_workspace
$ cd ..
$ mkdir build
$ cd build
$cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel

注:catkin_make编译的是所有功能包,也可以单单指定一个功能包做编译,命令是:

catkin_make --pkg 功能包名
  1. catkin_make之前一般要建立src文件夹存储源码,这是默认的工作空间路径。如果没有就会报错,这直接规范了文件路径,并且直接确定了生成文件的路径,而常规的编译没有。不过catkin_make也可以特别指定读取源文件路径,命令是:
catkin_make --source my_src
  1. 同时catkin_make本质上是并行编译,合并构建。这就存在一种情况:某个编译包不被ROS所支持,会报错。这个时候应该使用catkin_make_isolated,这样每个包就独立构建,会跳过那些不支持的包。不过生成的文件名字和之前会不同,devel会变成devel_isolated

  2. cmake,make过程一般是一次是执行一个源文件,如果想一键编译的话要写一个.sh文件。catkin_make编译时会编译src文件下所有的源文件,过程更加方便了

  3. 还有一个命令是catkin_make install, catkin_make install 的作用是创建一个可以运行,但不含源码的工程包,以便于给客户等其他人使用,但同时不至于泄露源码的这么一个作用(读不太懂,暂时可能还没接触到吧~)

设置编译格式,默认是DUBUG
catkin_make -DCMAKE_BUILD_TYPE=Release
清理编译过程中的文件
catkin_make clean
安装文件到install目录
catkin_make install
显示指定安装目录
catkin_make -DCMAKE_INSTALL_PREFIX=xxxx install

参考资料:

具体的caktin_make执行过程可以参考这篇:Catkin_make执行过程_jinking01的专栏-CSDN博客_catkin_make
具体的caktin_make install执行过程可以参考这篇:ROS中catkin_make install的用法_gglin的博客-CSDN博客
catkin_make_isolated 介绍_study,come on的博客-CSDN博客
转:make cmake和catkin_make的区别_fantasysolo的博客-CSDN博客_catkin_make

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

catkin_make 的相关文章

  • **make[2]: *** [CMakeFiles/offb_node.dir/build.make:84:报错解决

    make报错很有可能是因为CmakeList里面的文件没有修改好 xff01 如果是cpp文件的话需要修改下面两部分 xff1a 1 修改的第一处 xff1a 把节点修改成自己文件的节点就可以 2 修改的第二处 xff1a
  • make、makefile的使用解释(Linux项目自动化构建工具)

    本文所使用系统为Linux centos 7 makefile是一个文件 里面包含了 xff1a 1 文件与文件的依赖关系 2 文件与文件的依赖方法 为什么需要包含文件与文件的依赖方法和依赖方法呢 xff1f 一个工程中的源文件不计数 xf
  • 虚拟机ubuntu上安装make和cmake

    可先更新下apt xff1a sudo apt get update 首先安装make xff1a sudo apt get install ubuntu make sudo apt get install make sudo apt ge
  • catkin简析

    题记 xff1a 转载一篇catkin总结不错的原创 xff1a http blog csdn net zyh821351004 article details 50388429 catkin简析 catkin 编译支持传入cmake的宏定
  • 例解 Linux 下 Make 命令

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一 管理员用它通过命令行来编译和安装很多开源的工具 xff0c 程序员用它来管理他们大型复杂的项目编译问题 本文我们将用一些实例来讨论 make 命令背后的工作机制 Mak
  • make menuconfig 无法启动处理方法

    ake menuconfig Unable to find the ncurses libraries required header files 问题 xff1a lzz 64 lzz virtual machine linux 2 6
  • pixhawk make文件分析

    由于笔者没学过Linux等系统 xff0c 对make文件所知甚少 xff0c 本节分析可能有大量错误 xff0c 只提供参考 xff0c 随着技术积累 xff0c 以后会回过头改正错误的地方 xff0c 也非常欢迎提出指导意见 其中分析大
  • 关于make zImage时出现include/asm/timex.h:15:28: asm/arch/timex.h: No such file or directory

    root 64 localhost linux cd linux 2 6 18 root 64 localhost linux 2 6 18 make zImage CHK include linux version h SYMLINK i
  • catkin_make命令

    catkin make是在catkin工作区中构建代码的便捷工具 catkin make遵循catkin工作区的标准布局 xff0c 如REP 128中所述 用法 假设您的catkin工作区位于 catkin ws中 xff0c 则应始终在
  • catkin_make 运行存在问题 Could not find a package configuration file provided by "cmake_modules"

    Could not find a package configuration file provided by 34 cmake modules 34 catkin make 运行存在问题 找不到cmake modules 于是我就开始了采
  • cmake, make, CMakeLists.txt, Makefile简介

    文章目录 cmake make CMakeList txt Makefile之间的关系参考文章链接 xff1a 转自个人博客 在各种开源项目中 xff0c 经常会发现项目中除了代码源文件 xff0c 还包含了 CMakeList txt M
  • 使用 catkin 的方式创建自定义的 ros 消息

    文章目录 1 写在前面2 创建自定义消息2 1 创建 ros 包2 2 创建 msg 文件2 3 修改 package xml 文件2 4 修改 CMakeLists txt 文件 3 生成 msg 代码文件 1 写在前面 消息文件是描述R
  • Linux make/Makefile详解

    会不会写makefile xff0c 从侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数 xff0c 其按类型 功能 模块分别放在若干个目录中 xff0c makefile定义了一系列的 规则来指定 xff0c 哪些文件
  • Ubuntu下安装make

    方法一 xff1a xff08 自动安装 xff09 1 进入root权限 xff1a su root 2 更新安装列表 xff1a apt get update 3 安装make xff1a apt get install ubuntu
  • opencv安装make时报错: 没有指明目标并且找不到makefile

    在利用安装包进行opencv安装时 xff0c 当按照指令安装好依赖 xff0c 进行下载opencv文件夹下 xff0c 建立build文件夹并进入其文件夹后 xff0c 利用CMAKE进行编译 xff0c 但是编译成功之后 xff0c
  • linux下的项目管理工具make和git的使用

    在linux下我们不能向在windows下这样去快速的进行编译 xff0c 在以前我们都是使用一个命令一个命令地去将 c文件生成程序 xff0c 在这里我们介绍项目自动化辅助构建工具make以及项目版本管理工具git make make说白
  • Windows下配置cygwin/cmake

    对于那些低配置的电脑 要在windows做一些简单的coding work 安装一个VS实在有些转不开 所以我首先想到了通过cygwin cmake配置一个简单的开发环境 对于我那台老旧的IBM T43完全没问题 1 安装cygwin 首先
  • 如何在基于 Debian 的系统上从源代码安装 Wine

    作为 Windows 程序的狂热用户 您可能会发现有时需要在 Ubuntu 系统上使用特定程序 尽管还有其他选项 例如虚拟机或 Wine 等程序 它有助于在 Linux 上运行 Windows 程序 但它们涉及一些工作 而且并不是运行这些程
  • 【小沐学C++】C++ 常用命令行开发工具(Linux)

    文章目录 1 简介 2 gcc g 2 1 system 执行shell 命令 2 2 popen 建立管道I O 2 3 vfork exec 新建子进程 3 clang 3 1 下载和安装clang 3 2 clang和gcc比较 3
  • 【编译】gcc make cmake Makefile CMakeList.txt 关系、使用

    文章目录 一 关系 二 gcc 2 1 编译过程 2 2 编译参数 2 3 静态库和动态库 1 后缀名 2 联系与区别 2 4 GDB 调试器 1 常用命令 三 make makefile 四 cmake cmakelist 4 1 语法特

随机推荐

  • Vultr(云服务器)安装GUI图形化界面(已解决)

    服务器 xff1a Vultr OS xff1a Ubuntu 14 04 步骤 xff1a 1 远程登陆到服务器 2 确保所有的包和依赖关系是最新的 apt span class hljs keyword get span update
  • WorkerMan客户端连接失败

    workerman客户端连接失败 今天访问客服聊天功能发现不能发送信息 xff0c 然后看到是因为 WebSocket 连接失败 xff0c 图如下 xff1a 根据字面意思已经了解了问题是因为连接拒绝 xff0c 那么为什么会拒绝呢 xf
  • 2020计算机技术类,部分人工智能与软件工程SCI一区期刊列表(基于letpub数据)

    网上找了很久将计算机技术作为独立大区的期刊列表 xff0c 还是没有找到 所以我决定根据letpub的数据 xff0c 自己整理下 xff0c 方便以后查看 注 xff1a 由于2020与2019年的数据存在一些冲突 xff0c 部分数据可
  • IoT -- 解读物联网四层架构

    本文以物联网四层架构为基础 xff0c 从物联网产品设计的角度来解读每层架构的功能以及主要内容 xff0c 旨在为物联网产品设计以及实现思路感兴趣的物联网产品或研发人员有些帮助 通过互联网 xff0c 人和人之间可以传递和交流信息 物联网
  • 【putty无法连接Linux-centos7】

    一 二 1 vmware中打开虚拟机 xff0c 选择网络适配器 xff0c 选择模式 选择桥接模式 xff0c 则跟电脑主机一样使用以太网 xff0c 可以联网 xff0c 也可以ping通其他主机 xff0c 选择vmnet8 NAT模
  • 我的视觉SLAM学习的小小入门---Ubuntu18配置VINS-MONO

    前言 作为一名才接触视觉SLAM的菜鸟 xff0c 除了捧着高翔老师的书看着那晦涩难懂的代码与理论 xff0c 就是跟着高翔老师的课程囫囵吞枣地学着 但是似乎总不见成效 xff0c 时常想象着何时可以像大佬们一样建图 Vins mono可算
  • 关于Ubuntu(Debian)软件源报错问题及解决

    问题 xff1a 在执行sudo apt get update时出现以下报错 xff0c 查询得知是因为换源以后 xff0c 新的下载源没有公钥 W GPG error http mirrors aliyun com debian bust
  • Cmake常用指令

    1 SET SET lt variable gt lt value gt CACHE lt type gt lt docstring gt FORCE 将缓存条目variable设置为值 lt value gt xff0c 除非用户进行设置
  • [LeetCode] Two Sum 两数之和 java实现 C++实现

    LeetCode Two Sum 两数之和 java实现 C 43 43 实现 Given an array of integers return indices of the two numbers such that they add
  • FreeRTOS学习总结 (一)

    FreeRTOS学习总结 一 移植 上图是从FreeRTOS官网下载的源文件目录 xff0c 移植所需要的文件都在Source文件夹下 如上图 xff0c 在工程文件夹下创建FreeRTOS文件夹 xff0c 子文件夹和相应文件 xff0c
  • FreeRTOS学习总结 (二)

    FreeRTOS学习总结 四 软件定时器 软件计时器由FreeRTOS内核实现 xff0c 并在其控制之下 它们不需要硬件支持 xff0c 也与硬件计时器或硬件计数器无关 软件计时器功能是可选的 要使用软件计时器功能 xff1a 1 构建F
  • 网络编程及三大协议(TCP + UDP + Http)

    网络编程及三大协议 xff08 TCP 43 UDP 43 Http xff09 一 网络编程 1 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备 xff0c 通过通信线路连接起来 xff0c 在网络操作系统 xff0
  • 仿真软件GCKontorl之软件在环(SiL)仿真

    摘要 xff1a 软件在环SiL Software in the Loop 仿真 xff0c 是将仿真工程中的某些仿真模型或控制策略 xff0c 采用写手代码替代 xff0c 完成软件在环 SiL 的仿真测试及验证 特别是C语言在嵌入式系统
  • [数学建模]数学建模算法和模型(B站视频)(一)

    数学建模 数学建模算法和模型 xff08 B站视频 xff09 xff08 一 xff09 层次分析法 层次分析法 xff0c 简称AHP xff0c 是指将与决策总是有关的元素分解成目标 准则 方案等层次 xff0c 在此基础之上进行定性
  • 决策树的各类概述

    LogisticRegression 1 决策树的前世今生1 1 什么是决策树1 2 决策树的构建1 3 sklearn中使用决策树 2 决策树的特征选择2 1 信息论相关概念2 2 信息熵2 3 条件熵2 4 信息增益2 5 信息增益率2
  • 事件流及其三阶段

    事件流 1 事件的捕获阶段 2 事件的目标阶段 3 事件的冒泡阶段 事件有三个阶段 xff0c 首先发生的是捕获阶段 xff0c 然后是目标阶段 xff0c 最后才是冒泡阶段 xff0c 对于捕获和冒泡 xff0c 我们只能干预其中的一个
  • 卡尔曼滤波

    这篇文章完全是我自己为了记录一下自己对于KF的印象 xff0c 表层的不能再表层了 如果是需要详细了解KF的请去阅读高手的文章 xff0c 不要在此篇上浪费时间 前言 xff1a 在读一些文章的时候 xff0c 总会看到研究方法基于卡尔曼滤
  • Nvidia Jetson TX2入门指南(白话版)

    最近要用到jetson tx2 xff0c 但之前也完全没有接触过 边用边学 xff0c 这篇文章就是向新手介绍下jetson tx2刚入手的一些事项 适合纯小白 一 TX2初认识 开发板全称 xff1a Nvidia Jetson tx2
  • Nvidia Jetson TX2+Intel Realsense D435i跑ORB_SLAM3

    前言 xff1a 网上的教程实在是太多 xff0c 从诸多教程中找到一个适合自己的实属不易 将此记录下来 xff0c 希望能够帮助到有需要的人 因为时间紧迫 xff0c 没时间写特别详细的内容 xff0c 只能引用一些他人的步骤 请见谅 x
  • catkin_make

    普通情况下编译文件都是使用cmake make工具 xff0c 与此有关的内容可以参考 xff1a cmake CMakeLists txt make makefile的关系 但ROS中还有catkin make xff0c 不清楚他们之间