ros catkin_make 出现add_custom_target cannot create target 错误

2023-05-16

项目场景:

自己写了一个包A,内部有一个名字为AA的msg定义,此节点发送内容为A的消息。同样的工程下面,另一个包B需要用到AA这个消息内容,并且接收A包发出来的消息内容,使用catkin_make编译的是时候报错


问题描述

catkin_make编译 报错如下:

CMake Error at /home/nvidia/Workspace/controller/RobotMiniControllerAlpha/build/sensor_8SPExpansion_BNode/cmake/sensor_8SPExpansion-genmsg.cmake:46 (add_custom_target):
  add_custom_target cannot create target
  "sensor_8SPExpansion_generate_messages_cpp" because another target with the
  same name already exists.  The existing target is a custom target created
  in source directory
  "/home/nvidia/Workspace/controller/RobotMiniControllerAlpha/src/MCtrlNodeV3".
  See documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  /opt/ros/melodic/share/genmsg/cmake/genmsg-extras.cmake:307 (include)
  sensor_8SPExpansion_BNode/CMakeLists.txt:84 (generate_messages)

 但是使用单包节点一个一个编译,就可以编译过去:

编译包A

catkin_make -DCATKIN_WHITELIST_PACKAGES="Aname"

编译包B

catkin_make -DCATKIN_WHITELIST_PACKAGES="Bname"


 

原因分析:

最后的找到的原因是包的package.xml  中包依赖没有和cmakelist.txt中设置一致
cmakelist.txt:

主要是上面Aname是我自己的一个包,一定要在package.xml中  <build_depend> 里面加上

find_package(catkin REQUIRED COMPONENTS roscpp std_msgs sensor_msgs image_transport  Aname )


package.xml:

  <build_depend>message_generation</build_depend>
   <build_depend>Aname</build_depend>
   <build_depend>image_transport</build_depend>


  <run_depend>message_runtime</run_depend>
  <run_depend>Aname</run_depend>
  <run_depend>image_transport</run_depend>


 


解决方案:

修改包B的package.xml,和cmakelist.txt

编译通过

 

 

 

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

ros catkin_make 出现add_custom_target cannot create target 错误 的相关文章

随机推荐

  • VirtualBox虚拟机安装Red Hat Enterprise Linux7.2

    1 首先安装好VirtualBox 2 下载好rhel server 7 2 xff0c 下载好长这样 3 点击新建 xff0c 在弹出窗口中输入名称 xff0c 选择类型和版本 xff0c 之后点击下一步 4 选择内存大小 xff0c 根
  • HTML 页面中的 target 用法

    值含义 blank在新窗口中打开链接 parent在父窗体中打开链接 self在当前窗体打开链接 此为默认值 top在当前窗体打开链接 xff0c 并替换当前的整个窗体 框架页 一个对应的框架页的名称在对应框架页中打开
  • VirtualBox挂载RedHat光盘

    1 使用root用户登录RedHat系统 xff0c 点击设备 gt 安装增强功能 2 安装增强功能后桌面会出现一个光盘标志 xff0c 弹出框点取消 3 为防止后续步骤出错 xff0c 此处重新分配光盘 点击设备 gt 分配光驱 xff0
  • RedHat系统使用yum安装软件

    使用yum命令安装软件 xff0c 此处以system config users为例 1 配置yum源配置文件 xff08 存放在 etc yum repos d文件夹下 xff09 xff1b 切换到 etc yum repos d文件夹
  • 初识HTML

    什么是HTML xff1f HTML 指的是超文本标记语言 HyperText Markup LanguageHTML 不是一种编程语言 xff0c 而是一种标记语言标记语言是一套标记标签 markup tag HTML 使用标记标签来描述
  • Window 安装MySQL8

    1 下载安装包 官网下载MySQL安装包 xff0c 下载地址 https dev mysql com downloads mysql 2 解压缩 将下载好的压缩包解压至你的安装目录 xff0c 我的路径为E tools MySQL ins
  • Windows 安装Navicat 连接MySQL

    1 下载Navicat Premium 进入官网https www navicat com cn download navicat premium下载Navicat Premium 2 安装 选择安装路径 然后一直点击下一步 xff0c 直
  • win10 安装Python3.8和pip

    下载安装包 1 进入Python官网https www python org xff0c 选择Windows 2 往下滑 xff0c 找到3 8 10 xff0c 选择Download Windows installer 64 bit xf
  • jeston TX1/TX2 系统迁移至SD卡的正确步骤

    如果是刚刚开始Nvidia jeston TX1 TX2 开发的初学者 xff0c 希望本文可以帮助节省时间 首先上张图 xff0c 完成配置后的 jeston TX1 载板使用的是作者自己设计的EdgeBox EHub tx1 tx2 E
  • win 10安装IPython

    什么是IPython Ipython是一种交互式解释器 Ipython的性能优于标准Python的shell IPython支持变量自动补全 xff0c 自动缩进 xff0c 支持 bash shell 命令 xff0c 内置了许多很有用的
  • Java连接MySQL数据库

    Java连接MySQL数据库 数据库帮助类DBHelper java 使用的JDBC驱动是 mysql connector java 8 0 25 jar span class token keyword import span java
  • ubuntu安装cmake

    参考 xff1a ubuntu安装cmake 陈 洪 伟的博客 CSDN博客 ubuntu安装cmake 注意 xff1a https cmake org download 下载cmake时 xff0c 要下载Source distribu
  • ADRC最速综合函数fhan实现

    ADRC最优综合函数fhan函数测试 fhan函数是ADRC的跟踪微分控制器的核心函数 xff0c 使得状态变量可以快速跟踪上系统输入 本例中 xff0c 设理想输入v 61 sin t 用状态变量x1跟踪输入 xff0c x2跟踪输入的导
  • 【日志】gazebo无法加载模型 & 黑屏 & ResourceNotFound &[gazebo-1] process has died [pid 11734, exit code 255]

    问题1 ResourceNotFound xacro 解决方法 sudo apt get install ros kinetic xacro 问题2 ERROR cannot launch node of type gazebo ros g
  • Robotics: Aerial Robotics(空中机器人)笔记(二):如何设计一架四旋翼无人机

    在这一章里 xff0c 我们将探索四旋翼如何飞行的 这章将会讲一些基本的力学原理以及如何设计无人机 上一章链接 xff1a Robotics Aerial Robotics xff08 空中机器人 xff09 笔记 xff08 一 xff0
  • Robotics: Aerial Robotics(空中机器人)笔记(三):无人机运动学建模

    在这一章里 xff0c 我们将探索四旋翼无人机的运动学原理 这章将会讲机器人学中的坐标转换 xff08 Transformation xff09 旋转 xff08 Rotation xff09 欧拉角 xff08 Euler Angles
  • Robotics: Aerial Robotics(空中机器人)笔记(四):无人机动力学建模

    在这一章里 xff0c 我们将探索四旋翼无人机动力学的相关知识 我将主要讲刚体动力学中的牛顿 欧拉方程以及在四旋翼无人机上的形式 上一章链接 xff1a Robotics Aerial Robotics xff08 空中机器人 xff09
  • Robotics: Aerial Robotics(空中机器人)笔记(六):无人机运动规划

    在之前的学习中我们已经讨论了如何根据给定轨迹对四旋翼进行控制 xff0c 在这一章里 xff0c 我们将探索四旋翼无人机在三维空间中的运动规划 xff0c 即给定一个三维的环境 xff0c 我们希望能够在这个三维环境中指定具体的点 xff0
  • MPC(模型预测控制)控制小车沿轨迹移动——C++实现

    任务说明 要求如下图所示 xff0c 给定一条轨迹 xff0c 要求控制小车沿这条轨迹移动 xff0c 同时可以适用于系统带有延时的情况 注意 xff0c 本篇文章只给出部分C 43 43 代码参考 主要流程 首先用运动学自行车模型 xff
  • ros catkin_make 出现add_custom_target cannot create target 错误

    项目场景 xff1a 自己写了一个包A xff0c 内部有一个名字为AA的msg定义 xff0c 此节点发送内容为A的消息 同样的工程下面 xff0c 另一个包B需要用到AA这个消息内容 xff0c 并且接收A包发出来的消息内容 xff0c