ROS功能包中package.xml——软件包清单

参考:http://wiki.ros.org/catkin/package.xml
https://docs.ros.org/melodic/api/catkin/html/howto/format2/index.html
https://docs.ros.org/melodic/api/catkin/html/howto/format2/catkin_library_dependencies.html

1.简介

package.xml文件称之为软件包清单,该文件必须包含在任何与catkin兼容的软件包的根文件夹中。 该文件定义有关软件包的属性,例如软件包名称,版本号,作者,维护者以及对其他catkin软件包的依赖关系结构如下:

<pacakge> 根标记文件
<name> 包名
<version> 版本号
<description> 内容描述
<maintainer> 维护者
<license> 软件许可证
<buildtool_depend> 编译构建工具,通常为catkin
<depend> 指定依赖项为编译、 运行需要的依赖
<build_depend> 编译依赖项
<build_export_depend> 导出依赖项
<exec_depend> 运行依赖项
<test_depend> 测试用例依赖项
<doc_depend> 文档依赖项

2.标签

此标签是同时构建和执行依赖性的软件包的快捷方式

  <depend> roscpp </ depend>
  这等效于以下内容:
  <build_depend> roscpp </ build_depend>
  <exec_depend> roscpp </ exec_depend>

此标记声明构建程序所需的软件包,包括开发文件,如头文件,库和配置文件。

<build_depend>eigen</build_depend>

此标签声明运行依赖,用于共享库,可执行文件,Python模块,启动脚本和运行包所需的其他文件。

 <exec_depend>message_runtime</exec_depend>

所有软件包都至少具有一个依赖,对catkin的构建工具依赖,如以下示例所示。

<package format="2">
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="[email protected]">Ivana Bildbotz</maintainer>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>
</package>

指定构建,执行,测试和文档依赖关系示例:

<package format="2">
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="[email protected]">Ivana Bildbotz</maintainer>
  <license>BSD</license>

  <url>http://ros.org/wiki/foo_core</url>
  <author>Ivana Bildbotz</author>

  <buildtool_depend>catkin</buildtool_depend>

  <depend>roscpp</depend>
  <depend>std_msgs</depend>

  <build_depend>message_generation</build_depend>

  <exec_depend>message_runtime</exec_depend>
  <exec_depend>rospy</exec_depend>

  <test_depend>python-mock</test_depend>

  <doc_depend>doxygen</doc_depend>
</package>

你可能感兴趣的:(ROS)