在ROS工作空间中引用其他功能包的头文件报出以下错误
fatal error: creating_ros_library/example_ros_class.h: 没有那个文件或目录
包B用包A的头文件.h需要对A,B的CMakeListes进行修改
- 修改A的CMakeListes 如下
catkin_package(
INCLUDE_DIRS include
# LIBRARIES example_ros_library
# CATKIN_DEPENDS roscpp std_msgs std_srvs
# DEPENDS system_lib
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
- 修改B的CMakeListes如下
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
std_srvs
A
)
catkin_package(
INCLUDE_DIRS include
# LIBRARIES using_ros_library
# CATKIN_DEPENDS creating_ros_library roscpp std_msgs std_srvs
# DEPENDS system_lib
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
- 修改B的package.xml如下
<build_depend>A</build_depend>
<build_export_depend>A</build_export_depend>
<exec_depend>A</exec_depend>