我从ros2的官网拿来一段很好的实力代码:设计机器人的可真的太厉害了---我连一个机器人的传感器都要设计不知道多少个月可能。把整个机器人做出来不知道要多久啊
add_library(action_client SHARED
src/fibonacci_action_client.cpp)
target_include_directories(action_client PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
target_compile_definitions(action_client
PRIVATE "CUSTOM_ACTION_CPP_BUILDING_DLL")
ament_target_dependencies(action_client
"custom_action_interfaces"
"rclcpp"
"rclcpp_action"
"rclcpp_components")
rclcpp_components_register_node(action_client PLUGIN "custom_action_cpp::FibonacciActionClient" EXECUTABLE fibonacci_action_client)
install(TARGETS
action_client
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
add_library(action_client SHARED
src/fibonacci_action_client.cpp)
这一句如果在ubuntu大概意思: gcc -shared o libfibonacci_action_client.so -c src/fibonacci_action_client.cpp
---------------------------
target_include_directories(action_client PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
这句大概意思就是添加编译时候需要的头文件搜索目录
---------------------
target_compile_definitions(action_client
PRIVATE "CUSTOM_ACTION_CPP_BUILDING_DLL")