package.xml 文件
和 manifest 文件类似,描述功能包的属性,包括功能包的名字、版本号、作者、维护者、通行证 以及所以来的功能包。

http://wiki.ros.org/catkin/package.xml

1、基本结构

<package></package>

2、标签

<name> - 功能包的名字
<version> -功能包的版本
<description> - 功能包内容的描述
<maintainer> - 功能包的创建于维护者
<license> - 软件发行版通行证 (例如: GPL, BSD, ASL)

例子:

<package><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer><license>BSD</license>
</package>

3、依赖

一共有四种依赖包

<buildtool_depend> - 指定编译此功能包的编译系统工具<build_depend> - 指定编译此功能包需要的其他功能包,可以是功能包中的头文件、链接库、其他源文件。 <run_depend> - 指定运行此功能包代码需要的其他功能包。<test_depend> - 指定单元测试需要的其他功能包

在混合交叉编译中,上述依赖包主要取决于混合编译系统。

最简单例子:

<package><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer><license>BSD</license><buildtool_depend>catkin</buildtool_depend>
</package>

详细例子:

<package><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@willowgarage.com">Ivana Bildbotz</maintainer><license>BSD</license><url>http://ros.org/wiki/foo_core</url><author>Ivana Bildbotz</author><buildtool_depend>catkin</buildtool_depend><build_depend>message_generation</build_depend><build_depend>roscpp</build_depend><build_depend>std_msgs</build_depend><run_depend>message_runtime</run_depend><run_depend>roscpp</run_depend><run_depend>rospy</run_depend><run_depend>std_msgs</run_depend><test_depend>python-mock</test_depend>
</package>

4、Metapackages

当一个功能包中包含好几个子功能包时使用。

在 package.xml中有如下代码:

 <export><metapackage /></export>

那么,对应的CMakelist.txt 内容如下:

cmake_minimum_required(VERSION 2.8.3)
project(<PACKAGE_NAME>)
find_package(catkin REQUIRED)
catkin_metapackage()

5、其他标签

- 功能包信息的链接, 一般为 ros.org 上的百科
- 功能包的作者信息,包括邮箱、名字等

ROS学习(五):package.xml 文件相关推荐

  1. 【记录ROS学习(五)2022/08/27】Win版ROS/Noetic 如何添加必要的依赖(rosdep)

    [记录ROS学习(五)2022/08/27]Win版ROS/Noetic 如何添加必要的依赖(rosdep) 近期为了使得更多的设备可以连入ROS,开始转向Windows平台的ROS,遇到一些问题 无 ...

  2. 对ROS功能包中package.xml文件的疑问

    在一个ROS功能包中,CMakeList.txt和package.xml是不可缺少的两个文件. 最近听师兄说,如果xml文件出错了,功能包会无法通过 我是比较怀疑这个说法的,毕竟官方原文是这样说的: ...

  3. ROS学习记录9——urdf文件的创建与使用

    零.前言 在学习这一节之前,至少得明白如何创建一个工作空间,如何编译工作空间,如何运行工作空间里的文件(把工作空间的环境目录添加到环境里).如果有不会的,请看鄙人的ROS学习记录3. 本节默认工作空间 ...

  4. (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql

    http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...

  5. ROS 学习笔记3. launch文件的使用

    launch文件的使用 一.launch文件启动小海龟demo 二.launch文件的各个标签的属性 1.launch标签属性 2.node标签属性 3.include标签属性 4.remap标签属性 ...

  6. Android 学习 笔记_07. XML文件解析

    1.概念 XML:可扩展标记语言,类似html的那些标记.可扩展指的是:没有规定的.限制的.固定的标记.有SAX和DOM两种解析方式. DOM:将XML文档全部装载到内存里面,然后解析成一个棵树,再进 ...

  7. 用于创建此对象的程序是package_【ROS 学习笔记】CMakeLists.txt 与 package.xml

    0. 前言 在 ROS 中,节点的编写语言通常只有 C++ 和 Python,C++ 需要编译后才能运行,Python 则无需编译. 我们知道 Linux 平台编译 C++ 文件,需要编译器和链接器, ...

  8. 【ROS学习笔记】(五)话题消息的定义与使用

    一.目的 在ROS Master中,可以发布与订阅已经定义好的消息,比如海龟的运动.位姿等信息.但有时我们需要自己定义消息的类型. 本节主要目的为定义一个Person个人信息,Publisher发布个 ...

  9. 自动驾驶(六十五)---------ROS学习笔记(1)

    ROS是面向机器人的开源的元操作系统,它能够提供类似传统操作系统的诸多功能,如硬件抽象.底层设备控制.常用功能实现.进程间消息传递和程序包管理等.此外,它还提供相关工具和库,用于获取.编译.编辑代码以 ...

最新文章

  1. 乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
  2. 示例在同一台机器上使用RMAN克隆数据库
  3. 用Python实现单向链表
  4. 最简单的网络图片的爬取 --Pyhon网络爬虫与信息获取
  5. Viewer.js 图片预览插件
  6. 如何提高团队的工作效率
  7. Python百宝箱密码锁升级版源代码
  8. Java如何创建参数个数不限的函数
  9. 计算机组成与体系结构(软件设计师考试)
  10. 第二章 VB的界面设计
  11. pads元件类型如何修改_在PADS里怎样修改PCB的元件编号
  12. 网速网吧服务器型号,网吧的网速为什么那么快(无盘系统为何那么快)
  13. 2020数字中国创新大赛 • 算法赛道冠军技术方案分享
  14. Android GNSS 可视卫星星空图/卫星天顶图 原理及画法介绍
  15. 至少9所大学!将要招收计算机/软件专业第二学士学位!
  16. 阿里云OSS对象存储(文件上传与下载)宝宝级教程
  17. 机器人“马杀鸡”来了,总感觉哪里怪怪的。。。
  18. 全能型开源终端神器——MobaXterm
  19. 三菱PLC之SLMP协议报文说明
  20. RS232/RS485/MODBUS理解

热门文章

  1. Linux网编程收藏网址
  2. Docker学习笔记之保存和共享镜像
  3. python 面向对象(三大特性)
  4. Android 使用GridView+仿微信图片上传功能(附源代码)
  5. python3.6升级及setuptools、pip安装
  6. [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
  7. swift UI专项训练39 用Swift实现摇一摇功能
  8. CentOS Linux 7.3 1611 (Core) 配置静态IP地址
  9. ADO.NET的记忆碎片(二)
  10. C# 读取Excel中的时间