package.xml(功能包配置文件)

package.xml文件内容及书写规则

package.xml包含了package的名称、版本号、内容描述、维护人员、软件许可、编译构建工具、编译依赖、运行依赖等信息。

文件写法:遵循XML标签文本的写法,目前存在两种格式,但内容大致一样。(红色字体的是必备标签

<?xml>                        定义文档语法的语句,放在文档开头
<package>                    根标记文件
<name>  包名
<version>  版本号
<description>  功能包的简要说明,通常两三句话说明
<maintainer> 维护者,提供其姓名和电子邮件地址
<license> 版本许可证
<url> 记录描述功能包的说明,如网页、错误管理、存储库的地址等 
<author> 记录参与功能包开发的开发人员的姓名和电子邮箱地址,
如涉及多位则在下一行添加<author>标签
<buildtool_depend> 描述构建系统的依赖关系,通常是catkin
<build_depend>  编译功能包时所需的依赖项
<run_depend> 运行功能包是所需的依赖名称
<exec_depend> 与<run_depend>功能相同;注:<run_depend>是旧版本的,<exec_depend> 是新版本的,需要注意区分但又要知道二者功能相同
<depend> 

定依赖项为编译、导出、运行需要的依赖(最常用)(新版本的)

新版本用<depend>来整合<build_depend>和<run_depend>,
因为这二者会存在一些相同的依赖包,所以将这些相同的依赖包整合到
<depend>中,而各自不同的再分别用
<build_depend>、<run_depend>列出

<build_export_depend>  导出依赖项
<test_depend> 测试功能包时所需的依赖名称
<doc_depend>  文档的依赖项
<export>  在使用ROS中未指定的标签名称时会用到该标签,
最广泛使用的情况是元功能包的情况,
<export><metapackage/></export>格式表明是元功能包
<metapackage>  在export标签中使用的官方标签声明,当前功能包为一个元功能包时声明它
   
   
   

例子:

从例子中可以明显看出新旧版本的差别

特别要注意<maintainer>和<url>的格式

<maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer>

<url type="website">http://www.ros.org/wiki/turtlesim</url>

posted @ 2022-04-24 16:43  北极星!  阅读(625)  评论(0编辑  收藏  举报