6

我一直在关注“使用 ROS 编程机器人:机器人操作系统的实用介绍”一书

在本书的“定义新消息”部分,我们创建了一个新的消息定义

Example 3-3. Complex.msg
float32 real
float32 imaginary

所以我们需要修改 package.xml 并添加以下行:

<build_depend>message_generation</build_depend>
<run_depend>message_runtime</run_depend> 

但是当我在 catkin_ws 目录中运行 catkin_make 时,出现以下错误

Error(s) in /home/gtkratosman-lap/catkin_ws/src/basic/package.xml:
- The manifest (with format version 2) must not contain the following tags: run_depend

我的版本:

ii  python-rospkg                                         1.1.4-100                                           all          ROS package library
ii  python-rospkg-modules                                 1.1.4-1                                             all          ROS package library

这是完整的 package.xml 文件

<?xml version="1.0"?>
<package format="2">
  <name>basic</name>
  <version>0.0.0</version>
  <description>The basic package</description>

  <maintainer email="gtkratosman-lap@todo.todo">gtkratosman-
  lap</maintainer>

  <license>TODO</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>rospy</build_depend>


  <run_depend>message_generation</run_depend>
  <run_depend>message_runtime</run_depend>

  <build_export_depend>rospy</build_export_depend>
  <exec_depend>rospy</exec_depend>

  <export>
  </export>
</package>
4

2 回答 2

13

您在 package.xml 中混合了格式 1 和 2: <run_depend>仅在格式 1 中可用,而在格式 2 中它应该是<exec_depend>(格式 1 中不可用)。

所以在你的情况下,简单的替换run_depend应该exec_depend是好的。

有关格式之间差异的更多信息,请参阅官方文档

于 2017-11-28T09:16:48.830 回答
2

只是省略格式。这不是必需的,并且会破坏您的代码。将此模板用于您的 package.xml。

<?xml version="1.0"?>
<package>

    <name>basic</name>
    <version>0.0.0</version>
    <description>The basic package</description>

    <maintainer email="gtkratosman-lap@todo.todo">gtkratosman-lap</maintainer>

    <license>TODO</license>

    <buildtool_depend>catkin</buildtool_depend>
    <build_depend>rospy</build_depend>
    <build_depend>message_generation</build_depend>

    <run_depend>message_runtime</run_depend>

    <export>
    <!-- Other tools can request additional information be placed here -->
    </export>

于 2017-11-15T14:42:13.807 回答