如果在catkin create package 过程中忘记输入某些依赖的功能包
例如 新建的功能包为test01, 只添加了roscpp,rospy,std_msgs,,但忘记添加turtlesim功能包,
可以通过以下方式补充添加:
在test01同级的package.xml目录下,修改package.xml,如下所示:
<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<!-- 编译需要的功能包,这个messagegeneration和cmake里的findpackage对应 -->
<build_depend>message_generation</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
<exec_depend>roscpp</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>
<!-- 运行需要的功能包,这个messageruntime和cmake里的catkinpackage对应 -->
<exec_depend>message_runtime</exec_depend>
显然到了第三步,同样是test同级目录的cmakelist.txt 找到该文件中的:
....(省略)
find_package(catkin REQUIRED COMPONENTS
geometry_msgs
roscpp
rospy
std_msgs
turtlesim#如果创建功能包时忘记添加依赖,则第三步,在cmakelist文件里面添加依赖库
)
....(省略)
保存以上的文件,再编译,即可成功添加忘记的依赖库