ROS之pack.xml文件

本文详细介绍了ROS中的Pack.xml文件,它是每个功能程序包所必需的,并位于包的根目录下。文章解释了如何通过该文件定义包的属性,如包名、版本号、作者等信息,并说明了不同类型的依赖关系及其标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pack.xml是每个功能程序包所必须的,在包的根目录下。该文件定义了包的属性,如包名、版本号、作者、维护人员以及对其他catkin包的依赖关系,其有两个版本的书写格式,在indigo下是使用版本1,

<package>                 //首尾各一个,中间包括其内容

 <name>foo_core</name>   //包的名称,也就是概括包的功能,必须

 <version>1.2.4</version>    //包的版本号,一般是自动生成,三位逗号隔开的数字

 <description>           //包的描述

   This package provides foo capability.

 </description>             //首尾,中间是内容

 <maintainer email="ivana@willowgarage.com">IvanaBildbotz</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>

构建,运行和测试依赖

具有最小标签的包清单不指定对其他包的任何依赖关系。软件包可以有四种依赖关系:

Build Tool Dependencies构建工具依赖关系指定此软件包需要构建自身的构建系统工具。通常唯一的构建工具是catkin。在交叉编译场景中,构建工具依赖关系用于执行编译的架构

Build Dependencies构建依赖关系指定构建此包所需的包。在构建时需要这些软件包中的任何文件时才是这种情况。这可以包括这些包在编译时的标头,链接到这些包的库或在构建时需要任何其他资源(特别是当这些包在CMake 中是find_package())时)。在交叉编译场景中,构建依赖关系针对目标体系结构。

Run Dependencies运行依赖关系指定在此程序包中运行代码所需的软件包,或针对此软件包构建库。在这种情况下,您依赖于共享库或将其头部包含在此包中的公头中(特别是当这些包在CMake 中的catkin_package()中声明为(CATKIN_DEPENDS)时)。

Test Dependencies测试依赖关系仅指定单元测试的附加依赖项。他们不应该将已经提到的任何依赖关系重复为构建或运行依赖关系。

这四种类型的依赖关系使用以下相应的标签来指定:

<buildtool_depend>

<build_depend>

<run_depend>

<test_depend>

所有包至少有一个依赖关系,构建工具依赖于catkin,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值