本次编写的cpp文件是接受其他功能包发出的消息,处理后发布新的消息。以下是CMakeList.txt和package.xml的编写。
CMakeList.txt:
cmake_minimum_required(VERSION 3.0.2)
project(course_task)
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
message_generation
swarmtal_msgs#该功能包发出的消息被本功能包的节点订阅
)
generate_messages(
DEPENDENCIES
std_msgs
)
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES course_task
# CATKIN_DEPENDS roscpp std_msgs
# DEPENDS system_lib
CATKIN_DEPENDS message_runtime
)
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
set(NODE_NAME "course_task") #节点名称
add_executable(${NODE_NAME} src/course_task.cpp)
add_dependencies(${NODE_NAME} ${catkin_EXPORTED_TARGETS} ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(${NODE_NAME}
${catkin_LIBRARIES}
)
package.xml:
在package.xml中加入以下部分:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
<build_depend>swarmtal_msgs</build_depend>#swarmtal_msgs功能包发出的消息被本功能包的节点订阅
<exec_depend>swarmtal_msgs</exec_depend>