catkin_make命令

2023-05-16

catkin_make是在catkin工作区中构建代码的便捷工具。 catkin_make遵循catkin工作区的标准布局,如REP-128中所述。

 

用法

假设您的catkin工作区位于〜/ catkin_ws中,则应始终在catkin工作区的根目录中调用catkin_make:

  • $ cd〜/ catkin_ws
    $ catkin_make

上面的命令将构建〜/ catkin_ws / src中的所有软件包。手动执行此操作的等效命令为:

  • $ cd〜/ catkin_ws
    $ cd src
    $ catkin_init_workspace
    $ cd ..
    $ mkdir构建
    $ cd构建
    $ cmake ../src -DCMAKE_INSTALL_PREFIX = .. / install -DCATKIN_DEVEL_PREFIX = .. / devel
    $使

如果要在工作空间中构建特定的程序包,请在工作空间的根目录中调用以下命令:

  • $ catkin_make -DCATKIN_WHITELIST_PACKAGES =“ package1; package2”

如果要还原为生成所有软件包,请执行以下操作:

  • $ catkin_make -DCATKIN_WHITELIST_PACKAGES =“”

运行catkin_make之后,您应该在catkin工作区的根目录中注意到两个新文件夹:build和devel文件夹。在build文件夹中将调用cmake和make,在devel文件夹中将包含所有生成的文件和目标,以及setup。* sh文件,以便您可以像安装它一样使用它。

您可以将通常传递给make和cmake的任何参数传递给catkin_make。例如,您可以像这样调用安装目标:

  • $ cd〜/ catkin_ws
    $ catkin_make安装

这等效于像这样调用make:

  • $ cd〜/ catkin_ws / build
    #如果尚未调用cmake
    $ cmake ../src -DCMAKE_INSTALL_PREFIX = .. / install -DCATKIN_DEVEL_PREFIX = .. / devel
    $使
    $进行安装

现在,在工作区的根目录中应该有第三个文件夹:install。这是Catkin工作区中所有软件包的符合FHS的安装。它包含可以获取的setup。* sh文件,使您可以利用自己构建的软件包。

您可以通过将-DCMAKE_INSTALL_PREFIX = ...传递给catkin_make来更改软件包的安装位置:

  • $ cd〜/ catkin_ws
    $ catkin_make -DCMAKE_INSTALL_PREFIX = / opt / ros / <发行版> install

重要说明:当安装到/ opt / ros / <distro>(其中<distro>指的是您拥有的ROS版本,例如,靛蓝,动力学...)时,您可能会遇到权限问题。通常,作为普通用户,您没有写/ opt的权限,因此您需要超级用户特权。有三种解决方法:

  • 为根目录安装ROS(至少是最小安装)(不建议!)

  • 通过更改为root来安装软件包

  • 将软件包安装到具有所需权限(读取和写入)的位置

不建议使用第一个选项,因为在进行开发时,ROS通常不需要超级用户特权。人们通常也避免以超级用户身份工作(出于安全原因)。因此,在正常情况下,我们只有上面列表中的第二个和第三个选项。对于不习惯处理多个工作区的新ROS用户,第三个选项可能会带来一些问题,这些用户需要组合多个setup.bash文件。这就是为什么第二种选择似乎是最直接的方法。您要做的就是更改当前用户(标记为<user>,该用户表示没有超级用户权限,并且是您通常用于开发ROS软件的用户):

  • $ sudo su
    <user>的$ [sudo]密码:

现在,你有超级用户权限,所有你需要做的就是源的setup.bash位于您的非超级用户的柳絮工作空间或一个位于/opt/ros/<distro>/setup.bash:

  • $ source / home / <用户> / <user_catkin_workspace> /devel/setup.bash
    
    要么
    
    $ source /opt/ros/<distro>/setup.bash

这将使catkin_make对超级用户可见。您不需要任何其他操作,因为catkin_make安装的工作原理是将文件从源位置简单地复制到要安装ROS软件包的位置。最后一步是使用上面的参数调用catkin_make。安装应继续进行,不会出现任何其他问题。请注意,这适用于所有需要将软件包安装到通常没有读写权限的位置的情况。

 

参考资料

1.http://stevenshi.me/2017/05/26/ros-primary-tutorial-4/

2.https://blog.csdn.net/zyh821351004/article/details/50388429

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

catkin_make命令 的相关文章

  • catkin_make 与cmake

    http blog csdn net zyh821351004 article details 50388429 1 catkin make 与cmake的关系 程序在cmake编译的流程 xff1a cmake指令依据你的CMakeLis
  • make、makefile的使用解释(Linux项目自动化构建工具)

    本文所使用系统为Linux centos 7 makefile是一个文件 里面包含了 xff1a 1 文件与文件的依赖关系 2 文件与文件的依赖方法 为什么需要包含文件与文件的依赖方法和依赖方法呢 xff1f 一个工程中的源文件不计数 xf
  • Linux项目自动化构建工具-make/makefile 介绍及使用

    使用背景 在工程中的源文件不计数 xff0c 其按类型 功能 模块分别放在若干个目录中 xff0c makefile定义一系列 规则来指定什么文件需要先编译 xff0c 什么文件需要后编译 xff0c 哪些文件需要重新编译 xff0c 或者
  • 使用catkin进行工程管理

    catkin是什么 这是一个管理ros代码的工程管理工具 xff0c 基于cmake xff0c 但是比cmake多更多功能 xff0c 是cmake上层的代码管理规则 ros之前采用的是ros build xff0c 现在用catkin
  • 虚拟机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
  • make, cmake, bazel

    整理收集了一些自动化编译链接工具的使用教程 希望可以在之后能更好的理解和使用它们 1 make Linux 下 Make 命令Linux make Command Explained With Examples使用make命令编译项目文件入
  • catkin简析

    题记 xff1a 转载一篇catkin总结不错的原创 xff1a http blog csdn net zyh821351004 article details 50388429 catkin简析 catkin 编译支持传入cmake的宏定
  • make: *** /lib/modules/2.6.18-164.el5/build: No such file

    错误显示 没有 lib modules 2 6 18 164 el5 build 这个目录 xff0c 确认当前内核是这个版本么 xff0c 是的话安装 kernel devel kernel headers 软件包
  • [新手编译内核]kernel进行编译时提示No rule to make target `menconfig'.

    windows下下载了 linux 2 6 37内核源码 xff0c 拷贝到U盘上 xff0c 通过mount挂载到了虚拟机里的Centos 5 5系统上 通过putty使用host only方式连接到虚拟机 xff0c 进行操作 在 mn
  • make[1]: *** [storage/perfschema/unittest/CMakeFiles/pfs_connect_attr-t.dir/all] 错误 2 解决方法...

    make 2 storage perfschema unittest pfs connect attr t 错误 1 make 1 storage perfschema unittest CMakeFiles pfs connect att
  • catkin_make

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

    报错 xff1a No rule to make target My Wall Paper2 img png needed by debug qrc resource cpp Stop 解决方案 xff1a 把 qrc文件删了新建一个res
  • ros里Catkin的CMakelists/package.xml

    Catkin是基于CMake的编译构建系统 xff0c 具有以下特点 xff1a Catkin沿用了包管理的传统像 find package 基础结构 pkg config扩展了CMake xff0c 例如 软件包编译后无需安装就可使用 自
  • ROS CMakeLists.txt中catkin_package和INCLUDE_DIRS的区别

    CMakeLists txt中 catkin package INCLUDE DIRS include 这里代表的是catkin的构建选项 xff0c INCLUDE DIRS表示将使用INCLUDE DIRS后面的内部目录include
  • Make与CMake

    1 Make与CMake 首先先来了解一下gcc xff0c gcc是GNU Compiler Collection 就是GNU编译器套件 xff0c 也可以简单认为是编译器 xff0c 它可以编译很多种编程语言 包括C C 43 43 O
  • ROS命令 catkin_init_workspace 分析

    ros版本 xff1a Ubuntu18 04 Melodic 之前在调试ros工作空间环境变量的问题的时候修改了工作空间src文件夹下的CMakeLists txt以进行打印消息分析出错的原因 在我新建另外一个工作空间 xff0c 执行c
  • linux下的项目管理工具make和git的使用

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

    编程人员已经使用CMake和Make很长一段时间了 当你加入一家大公司或者开始在一个具有大量代码的工程上开展工作时 xff0c 你需要注意所有的构建 你需要看到处跳转的 CMakeLists txt 文件 你应该会在终端使用 cmake 和
  • CMake编程实践(五) 编译静态库和动态库

    使用Cmake 编译库 本篇使用CMake编译一个动态库和静态库 并安装到系统中 对应的工程是cmake utilsbox lib 编译静态库 指定编译静态库 关键词为static 不添加关键字默认静态库 add library utils
  • 【编译】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 语法特

随机推荐

  • Ubuntu查看linux系统版本号

    查看ubuntu版本 输入命令 cat proc version 显示如下 Linux version 5 0 0 13 generic buildd 64 lcy01 amd64 020 linux内核版本号 gcc version 8
  • Linux C Socket简介和实现

    1 网络中进程之间如何通信 xff1f 本地的进程间通信 xff08 IPC xff09 有很多种方式 xff0c 但可以总结为下面4类 xff1a 消息传递 xff08 管道 FIFO 消息队列 xff09 同步 xff08 互斥量 条件
  • C++ STL视频教程,初学者必备视频资料

    STL视频教程 初学者必备视频资料 我一个朋友做的 我转发到这里和大家分享 STL语音视频教程 下载地址 xff1a url 61 http www ctdisk com file 3388918 STL语音视频教程 7z url
  • QMessageBox简单用法(QT5.12)

    span class token comment for starf study span span class token macro property span class token directive hash span span
  • TOF相机 Realsense L515 与 Ipad pro Lidar Camera 对比

    最近好奇都是TOF 相机 L5151 和 Ipad pro 上带的深度相机模块有啥不一样 网上很少有相关的中文资料来介绍 原理上的差异 简单搜索了一下 在此小小总结 Apple Lidar Camera 苹果采用的激光是 VCSEL Ver
  • Arduino 读取GPS 数据发送解析并发布ROS topic(一)

    概述 通过Arduino收集GPS数据 xff0c 连接至电脑端 xff0c 在电脑端通过python对数据进行整理 xff0c 并通过发布 TOPIC xff0c 本部分主要记录如何通过Arduino读取GPS数据 接线方式 GPS 的
  • STM32 复位电路设计

    在此之前我是个只会抄写原理图的工程师 xff0c 每当遇到一个问题时 xff0c 确需要解决很久 xff0c 最根本的原因在于不明白其中的原理 xff0c 这次补充一下单片机复位电路设计 1 为什么要设计复位电路 xff1f 在做一件事情之
  • STM32核心板设计——电源设计

    1 STM32 数据手册电源部分研读 RTC电源管脚为V BAT 电源范围为1 8 3 6V xff0c 主要用于RTC时钟的供电 xff0c RTC在大部分场合用于保存一些重要的参数 xff0c 比如在电脑主板上用于保存boss的信息 x
  • stm32的复位电路问题

    现在比较流行的复位方式是这样的 xff1a 但我们都知道对于结构紧凑型硬件来说 xff0c 多一个电阻都是没必要的 在没有手动复位需求的场合 xff0c 能不能删掉按键与R24 xff0c 仅保留104电容 xff1f 通过阅读stm32
  • 外设驱动库开发笔记21:BME680环境传感器驱动

    环境传感器是一类我们很常用的传感器 它可以方便我们获取压力 温度 湿度以及空气质量等数据 在这一篇中 xff0c 我们将分析 BME680 环境传感器的功能 xff0c 并设计和实现 BME680 环境传感器的驱动 1 功能概述 BME68
  • 外设驱动库开发笔记45:MS4515DO压力传感器驱动

    很多时候我们需要检测流量和压力这些参数 xff0c 比如我们要检测大气压 xff0c 或者通过测量差压来获得输送流体的流量等 xff0c 都需要用到压力传感器 这一篇我们就来讨论MS4515DO压力传感器的数据获取 1 功能概述 MS451
  • 一个好看的CSS样式表格

    一个好看的CSS样式表格 自动换整行颜色的CSS样式表格 xff08 需要用到JS xff09 自动换整行颜色的CSS样式表格源代码 自动换整行颜色的CSS样式表格 xff08 需要用到JS xff09 这个CSS表格会自动切换每一行的颜色
  • docker删除镜像

    docker要删除镜像 xff0c 先要删除依赖它的容器 1 删除容器 docker ps 查看正在运行的容器 docker ps a 查看所有容器 docker rm container id 删除容器 2 删除镜像 docker ima
  • FreeRTOS如何结束和重新启动调度程序

    大多数主机或桌面系统 xff08 比如Linux xff0c Mac或Windows xff09 都有一个正常的用例 xff0c 你可以在早上启动操作系统 xff0c 然后在晚上关闭它 xff0c 然后你就离开机器 嵌入式系统是不同的 xf
  • [显存被占满,程序无法运行问题]ResourceExhaustedError (see above for traceback): OOM when allocating tensor

    最近在实验室的服务器上跑tensorflow程序 xff0c 一直都没有报错 xff0c 但是今天却突然报错 xff0c 而且出错提示显示的内容从未见到过 xff0c 错误提示如下 xff1a 错误提示资源耗尽 xff0c 无法分配tens
  • 解读神经网络十大误解,再也不会弄错它的工作原理(转载自机器之心)

    神经网络是机器学习算法中最流行和最强大的一类 在计量金融中 xff0c 神经网络常被用于时间序列预测 构建专用指标 算法交易 证券分类和信用风险建模 它们也被用于构建随机过程模型和价格衍生品 尽管神经网络有这些用处 xff0c 但它们却往往
  • 树莓派 Raspberry Pi VNC屏幕无法显示、软键盘、摄像头实时图传、固定IP等环境配置

    目录 1 VNC屏幕无法显示 2 树莓派软键盘安装 3 摄像头实时图传配置 xff0c 可用于图像监控系统 4 安装VIM与固定IP 1 VNC屏幕无法显示 在树莓派终端 xff0c 输入 sudo raspi config 选择接口配置
  • 在Jetson上配置RealSense相机驱动

    1 下载源码 https github com IntelRealSense librealsense span class token builtin class name cd span librealsense scripts set
  • aruco marker使用笔记

    在英伟达Jetson Xaiver开发板上配置 SDK环境 opencv 4 1 1 CUDA 10 2 1 git clone https github com pal robotics aruco ros 2 复制到catkin ws
  • catkin_make命令

    catkin make是在catkin工作区中构建代码的便捷工具 catkin make遵循catkin工作区的标准布局 xff0c 如REP 128中所述 用法 假设您的catkin工作区位于 catkin ws中 xff0c 则应始终在