尝试完全从IDL文件中删除大小规范,因此它看起来像:
module std_msgs { module msg { module dds_ { struct Header_ { builtin_interfaces::msg::dds_::Time_ stamp_; string frame_id_; }; //@Extensibility EXTENSIBLE_EXTENSIBILITY }; // end of 'dds_' module }; // end of 'msg' module }; // end of 'std_msgs' module
ROS2使用无界字符串和序列;这在管理控制台中显示为< 2147483617>(0x7FFFFFFF)大小。在为包含字符串或序列的类型生成支持代码时,请务必在RTI代码生成器中启用“无限制”支持。
顺便说一下,您定位的是哪个版本的ROS2? 还有一些其他特定于版本的设置需要将ROS2与仅DDS应用程序(例如分区,主题名称前缀等)进行互操作。
你还有其他问题吗?