ROS学习(五):package.xml 文件
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 文件相关推荐
- 【记录ROS学习(五)2022/08/27】Win版ROS/Noetic 如何添加必要的依赖(rosdep)
[记录ROS学习(五)2022/08/27]Win版ROS/Noetic 如何添加必要的依赖(rosdep) 近期为了使得更多的设备可以连入ROS,开始转向Windows平台的ROS,遇到一些问题 无 ...
- 对ROS功能包中package.xml文件的疑问
在一个ROS功能包中,CMakeList.txt和package.xml是不可缺少的两个文件. 最近听师兄说,如果xml文件出错了,功能包会无法通过 我是比较怀疑这个说法的,毕竟官方原文是这样说的: ...
- ROS学习记录9——urdf文件的创建与使用
零.前言 在学习这一节之前,至少得明白如何创建一个工作空间,如何编译工作空间,如何运行工作空间里的文件(把工作空间的环境目录添加到环境里).如果有不会的,请看鄙人的ROS学习记录3. 本节默认工作空间 ...
- (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...
- ROS 学习笔记3. launch文件的使用
launch文件的使用 一.launch文件启动小海龟demo 二.launch文件的各个标签的属性 1.launch标签属性 2.node标签属性 3.include标签属性 4.remap标签属性 ...
- Android 学习 笔记_07. XML文件解析
1.概念 XML:可扩展标记语言,类似html的那些标记.可扩展指的是:没有规定的.限制的.固定的标记.有SAX和DOM两种解析方式. DOM:将XML文档全部装载到内存里面,然后解析成一个棵树,再进 ...
- 用于创建此对象的程序是package_【ROS 学习笔记】CMakeLists.txt 与 package.xml
0. 前言 在 ROS 中,节点的编写语言通常只有 C++ 和 Python,C++ 需要编译后才能运行,Python 则无需编译. 我们知道 Linux 平台编译 C++ 文件,需要编译器和链接器, ...
- 【ROS学习笔记】(五)话题消息的定义与使用
一.目的 在ROS Master中,可以发布与订阅已经定义好的消息,比如海龟的运动.位姿等信息.但有时我们需要自己定义消息的类型. 本节主要目的为定义一个Person个人信息,Publisher发布个 ...
- 自动驾驶(六十五)---------ROS学习笔记(1)
ROS是面向机器人的开源的元操作系统,它能够提供类似传统操作系统的诸多功能,如硬件抽象.底层设备控制.常用功能实现.进程间消息传递和程序包管理等.此外,它还提供相关工具和库,用于获取.编译.编辑代码以 ...
最新文章
- 乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
- 示例在同一台机器上使用RMAN克隆数据库
- 用Python实现单向链表
- 最简单的网络图片的爬取 --Pyhon网络爬虫与信息获取
- Viewer.js 图片预览插件
- 如何提高团队的工作效率
- Python百宝箱密码锁升级版源代码
- Java如何创建参数个数不限的函数
- 计算机组成与体系结构(软件设计师考试)
- 第二章 VB的界面设计
- pads元件类型如何修改_在PADS里怎样修改PCB的元件编号
- 网速网吧服务器型号,网吧的网速为什么那么快(无盘系统为何那么快)
- 2020数字中国创新大赛 • 算法赛道冠军技术方案分享
- Android GNSS 可视卫星星空图/卫星天顶图 原理及画法介绍
- 至少9所大学!将要招收计算机/软件专业第二学士学位!
- 阿里云OSS对象存储(文件上传与下载)宝宝级教程
- 机器人“马杀鸡”来了,总感觉哪里怪怪的。。。
- 全能型开源终端神器——MobaXterm
- 三菱PLC之SLMP协议报文说明
- RS232/RS485/MODBUS理解
热门文章
- Linux网编程收藏网址
- Docker学习笔记之保存和共享镜像
- python 面向对象(三大特性)
- Android 使用GridView+仿微信图片上传功能(附源代码)
- python3.6升级及setuptools、pip安装
- [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别
- swift UI专项训练39 用Swift实现摇一摇功能
- CentOS Linux 7.3 1611 (Core) 配置静态IP地址
- ADO.NET的记忆碎片(二)
- C# 读取Excel中的时间