ROS 自定义服务、消息编译时找不到相关头文件

ROS自定义服务、消息编译时找不到相关头文件

 

在我们拥有多个package的时候,我们定义了一个消息或者服务,并在代码中使用了这个消息或者服务。如果是单独编译这个包,编译 通过。但是如果是多个包一起编译,就会出现找不到相关头文件的错误。

原因: 编译时未按照严格顺序进行编译

解决办法:在使用自定义消息或者服务的包中,修改CMakeLists.txt,增加如下内容

add_dependencies(some_target ${${PROJECT_NAME}_EXPORTED_TARGETS})

作用:让编译器知道,编译some_target时,需要注意编译顺序

参考链接:ROS catkin CMakeList.txt: http://wiki.ros.org/catkin/CMakeLists.txt

你可能感兴趣的:(ROS)