3.5 程序包依赖关系

3.5.1 一级依赖

之前在使用catkin_create_pkg命令时使用了几个功能包作为依赖包。现在我们可以使用rospack命令工具来查看一级依赖包。

$ rospack depends1 beginner_tutorials

效果:

std_msgs
rospy
roscpp

rospack列出了在运行catkin_create_pkg命令时作为参数的依赖包 这些依赖包随后保存在package.xml文件中。

$ roscd beginner_tutorials
$ cat package.xml

效果:

<package format="2">
...
  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
...
</package>

3.5.2 间接依赖

在很多情况中,一个依赖包还会有它自己的依赖包,比如rospy还有其它依赖包。

$ rospack depends1 rospy

效果:

genpy
roscpp
rosgraph
rosgraph_msgs
roslib
std_msgs

一个功能包还可以有好几个间接的依赖包,幸运的是使用rospack可以递归检测出所有的依赖包。 例如:

$ rospack depends beginner_tutorials

cpp_common
rostime
roscpp_traits
roscpp_serialization
catkin
genmsg
genpy
message_runtime
gencpp
genlisp
message_generation
rosbuild
rosconsole
std_msgs
rosgraph_msgs
xmlrpcpp
roscpp
rosgraph
rospack
roslib
rospy

Last updated