ROS中package.xml文件分析

在创建ROS包的时候,会产生xml和CMakeList.txt文件,其中xml文件如下:

<package format="2">
  <name>foo_corename>
  <version>1.2.4version>
  <description>
  This package provides foo capability.
  description>
  <maintainer email="[email protected]">Ivana Bildbotzmaintainer>
  <license>BSDlicense>
package>  

name 包的名字
version 包的版本号,需要以点将数字分开
description 包内容的描述
maintainer 维护这个包的作者
license - 软件发布时的许可(例如 GPL, BSD, ASL)
当然,上面给出的示例是一个比较简单的例子,它没有加入任何依赖(dependencies),包可以有6种类型。

depend指定依赖项,最常用
buildtool_depend指定构建项目的工具
build_depend指定构建项目的依赖
build_export_depend指定根据这个包构建库所需要的包
exec_depend运行代码需要的包
test_depend单个测试需要的依赖
doc_depend指定此包生成文档时需要的文档工具


所有的包最少都有一个依赖,一个构建工具依赖,例如:

<package format="2">
  <name>foo_corename>
  <version>1.2.4version>
  <description>
    This package provides foo capability.
  description>
  <maintainer email="[email protected]">Ivana Bildbotzmaintainer>
  <license>BSDlicense>

  <buildtool_depend>catkinbuildtool_depend>
package>

如果是一个比较实际的例子,那么就会有构建、执行、测试和文档依赖,例如下面:

<package format="2">
  <name>foo_corename>#包名
  <version>1.2.4version>#版本号
  <description>#描述消息
    This package provides foo capability.
  description>
  <maintainer email="[email protected]">Ivana Bildbotzmaintainer>
  <license>BSDlicense>

  <url>http://ros.org/wiki/foo_coreurl>#链接
  <author>Ivana Bildbotzauthor>#作者

  <buildtool_depend>catkinbuildtool_depend>#构建工具依赖

  <depend>roscppdepend>#依赖的包
  <depend>std_msgsdepend>

  <build_depend>message_generationbuild_depend>#构建时依赖的包

  <exec_depend>message_runtimeexec_depend>#运行是依赖的包
  <exec_depend>rospyexec_depend>

  <test_depend>python-mocktest_depend>#测试时依赖的包

  <doc_depend>doxygendoc_depend>#生成文档时依赖的包
package>

当然,在CMakeLists.txt中,也有类似的依赖项,例如:

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

这是cmake中的知识,这里不再详解。

以上内容参考ROS官方wiki中的详解

你可能感兴趣的:(ROS)