发现网上许多的例子都是基于官网的例子,还须要作进一步的说明。node
1. NODELET_DEBUG 是没法打印的信息的,须要使用NODELET_INFO函数
NODELET_DEBUG("Adding %f to get %f", value_, output->data);
2. cmake 须要添加以下
添加导出设置,由于nodelet 没有main 函数,不须要在build 模块添加可执行的定义,只须要在连接库中添加
if(catkin_EXPORTED_LIBRARIES)
add_dependencies(nodelet_math ${catkin_EXPORTED_LIBRARIES})
endif()
在连接库中添加
add_library(nodelet_math src/plus.cpp)
target_link_libraries(nodelet_math ${catkin_LIBRARIES})
find_package(catkin REQUIRED COMPONENTS nodelet roscpp std_msgs)
catkin_package(
LIBRARIES nodelet_math
CATKIN_DEPENDS nodelet
)
packge.xml 须要添加
<build_depend>nodelet</build_depend>
<run_depend>nodelet</run_depend>
<export>
<nodelet plugin="${prefix}/plus_nodelet.xml" />
</export>
plus_nodelet.xml 中须要注意 lib 后面的随便写
<library path="lib/libnodelet_math">