[关闭]
@danren-aa120 2020-10-15T03:36:42.000000Z 字数 1075 阅读 222

在ROS 中新添加msg ,但在引用消息msg.h 时编译报错无法找到头文件

ROS


在此输入正文

首先在CMakeLists.txt,在find_package 中添加 message_generation

find_package(catkin REQUIRED COMPONENTS
    rviz
    std_msgs
    geometry_msgs
    message_generation
)

add_message_files(
   FILES
   MoveToGrabMsg.msg
   LoopMoveToGrabMsg.msg
 )

 generate_messages(
   DEPENDENCIES  std_msgs geometry_msgs

 )

编译库和可执行文件时要添加add_dependencies

add_library(${PROJECT_NAME} ${SRC_FILES})
add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTTED_TARGETS} ${catkin_EXPORTED_TARGETS}  ${PROJECT_NAME}_generate_messages_cpp)

add_executable(excute_navigation src/excute_navigation.cpp)
add_dependencies(excute_navigation ${${PROJECT_NAME}_EXPORTTED_TARGETS}
                                       ${catkin_EXPORTED_TARGETS}
                                   ${PROJECT_NAME}_generate_messages_cpp
                                       ${PROJECT_NAME}_gencpp
                                   )
target_link_libraries(excute_navigation ${catkin_LIBRARIES})

在package.xml 中

  <build_depend>message_generation</build_depend>
  <build_depend>message_runtime</build_depend>

  <build_export_depend>message_generation</build_export_depend>
  <build_export_depend>message_runtime</build_export_depend>

  <exec_depend>message_generation</exec_depend>
  <exec_depend>message_runtime</exec_depend>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注