最近正在自学古月的《ros机器人开发实践》,过程中遇到了一些问题,浪费了很多时间,所以在这里和大家分享一下,希望对你们有所帮助。
问题一:
Error(s):
- The manifest of package “learning_communication” (with format version 2) must not contain the following tags: run_depend
- Please replace <run_depend> tags with <exec_depend> tags.
解决方法:
按照错误提示,我们把<run_depend>标签切换成<exec_depend>即可。但是接下来可能还是会报错。
问题二:
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:196 (message):
catkin_package() the catkin package ‘geometry_msgs’ has been
find_package()-ed but is not listed as a build dependency in the
package.xml
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
learning_communication/CMakeLists.txt:106 (catkin_package)
解决方法:
遇到这问题是真的烦人,查了很多资料,看评论有些人也解决了,但是我还是出现了很多新问题,最后花费了很多时间。
按照错误提示package.xml没有geometry_msgs,所以我们再添加两行代码,总共四行
<build_export_depend>message_generation</build_export_depend>
<exec_depend>message_runtime</exec_depend>
<build_depend>geometry_msgs</build_depend>
<exec_depend>geometry_msgs</exec_depend>
<build_export_depend>或者<build_depend>都可以,最后回到~/catkin_ws(工作空间)下,执行
catkin_make
成功。