设置*.xml
配置文件后。我得到以下两个相同的例外:RTIRecorderModel_lookupType@493: Failed to find type
。
这两种类型是:
RTI::RecordingService::Administration
RTI::PlaybackService::Administration::CommandRequest
我要包含哪些文件来解决这些例外?
答案 0 :(得分:2)
RTI连接DDS(包括RTI Record和RTI Replay)中所有不同基础设施服务的远程管理类型以IDL格式提供:
<rti_installation_directory>/resource/idl
在你的情况下:
RTI::RecordingService::Administration
类型定义在<rti_installation_directory>/resource/idl/rtirecord.idl
。RTI::PlaybackService::Administration::CommandRequest
类型定义在<rti_installation_directory>/resource/idl/rtireplay.idl
。您可以使用rtiddsgen
命令行工具将这些IDL文件转换为XML格式,如下所示:
$ rtiddsgen -convertToXml <rti_install_dir>/resource/idl/rtirecord.idl -d .
$ rtiddsgen -convertToXml <rti_install_dir>/resource/idl/rtireplay.idl -d .
这将在您的工作目录中生成两个等效的XML文件,名为rtirecord.xml
和rtireplay.xml
。您可以使用类型定义中的<include file="">
标记将这些文件包含在XML文件中:
<dds>
...
<types>
...
<include file="rtirecord.xml"/>
<include file="rtireplay.xml"/>
...
</types>
</dds>
注意:上述路径适用于RTI Connext DDS 5.2.0及更高版本。如果您使用的是早期版本的RTI Connext DDS,则IDL文件的路径为<rti_install_dir>/RTI_Recording_Service_<version>/resource/idl
。