如题在学习ros2时需要引入外部包,我使用了rosidl_get_typesupport_target去引入外部包,报错,找不到外部包。命令如下:
rosidl_get_typesupport_target(cpp_typesupport_target base_interface_demo "rosidl_typesupport_cpp")原因如下:
这个函数要求传入的是当前包通过 rosidl_generate_interfaces() 创建的 CMake 目标,而 base_interface_demo 是外部依赖包,所以报错。就这么简单。
应改为直接链接已导出的目标:
target_link_libraries(exe PUBLIC package_name::package_name);