Package.xml的字段说明

package.xml 的版本说明

复制代码
<package format="2">

</package>

每一个 package.xml 都以作为 root 标签,其中 format 代表版本,现在主要是版本 2 为主,与版本 1 之间的差别主要是一些子标签,

package.xml 的必备标签

name:功能包名

version:版本号。版本号格式:MAJOR.MINOR.PATCH

description:功能包的描述

maintainer:功能包的主要维护者

license:功能包的许可证

复制代码
<package format="2">
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
  This package provides foo capability.
  </description>
  <maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer>
  <license>BSD</license>
</package>

依赖项标签

buildtool_depend:指定此包构建自身所需的构建系统工具。

一个功能包至少需要一个buildtool_depend,通常值是catkin。
在交叉编译场景中,执行编译的体系结构相关.

depend:指定依赖项是构建、导出和执行依赖项

depend = build_depend + build_export_depend + exec_depend

build_depend:指定了构建此包所需的软件包

在CMakeLists.txt中使用find_package()寻找的包,需要在这里进行添加

build_export_depend:构建此包所需的库所需的包

当暴露一些头文件给下游时,并且该功能包的头文件还依赖了一些其他库的头文件的时候,需要使用该标签显式传递给下游功能包

exec_depend:运行此包中的代码需要哪些包

运行时需要的三方库或者其他功能包

test_depend:指定单元测试的附加依赖项

doc_depend:指定此包生成文档所需的文档工具

复制代码
<package format="2">
  <name>foo_core</name>
  <version>1.2.4</version>
  <description>
    This package provides foo capability.
  </description>
  <maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer>
  <license>BSD</license>
  <buildtool_depend>catkin</buildtool_depend>
</package>

metapackage

当标识该功能包时一个meta包时,除必须的标签外,还需要

下述标签

复制代码
 <export>
   <metapackage />
 </export>

metapackage对应的CMakeLists.txt,

复制代码
cmake_minimum_required(VERSION 2.8.3)
project(<PACKAGE_NAME>)
find_package(catkin REQUIRED)
catkin_metapackage()
相关推荐
放羊郎6 个月前
机器人交互系统 部署构建
机器人·cmakelist·ros1
knighthood20019 个月前
ros项目dual_arm_pick-place(urdf文件可视化查看)
c++·ubuntu·ros·noetic
knighthood20019 个月前
ros项目dual_arm_pick-place(moveit配置助手)
ubuntu·ros·noetic
knighthood20019 个月前
ros项目dual_arm_pick-place(编辑已有的moveit配置助手包)
c++·ubuntu·ros·noetic
knighthood20019 个月前
ros项目dual_arm_pick-place(对比moveit配置助手生成的文件)
c++·ubuntu·ros·noetic
二十四桥下一句10 个月前
ubuntu 20.04 安装ros1
ubuntu·ros1
寅恪光潜2 年前
ROS通信机制之话题(Topics)的发布与订阅以及自定义消息的实现
rostopic·rqt_graph·rospy.publisher·subscriber·catkin_make·package.xml·cmakelists.txt