杂记-opendds错误

博客讨论了DDS(Data Distribution Service)在不同版本间存在的兼容性问题,特别是3.12和3.9之间的差异导致的主题创建失败。idl文件格式错误、Python解析idl的敏感性以及dds数据类型注册失败是主要问题。此外,还提到了ACE在Windows和Linux下的初始化差异,以及相应的解决策略。针对Windows环境,需要确保进行ACE的正确初始化。
摘要由CSDN通过智能技术生成
dds创建主题失败

直接原因,get_type_name出错
应该是版本原因3.12和3.9不兼容

dds没有生成support对应的文件

idl文件格式不对,opebdds本身的idl编译器也不是很强大
还有一个小问题是,用python解析idl文件的代码也比较脆弱,必须格式严格控制

dds注册数据类型失败
if (DDS::RETCODE_OK != ts_Advance_->register_type(mdp, "demo_type"))

改为

if (DDS::RETCODE_OK != ts_Advance_->register_type(mdp, ""))
ace没有初始化错误

现象:linux下dds能编译通过,但windows下编译不通过。
原因: ace没有初始化,linux下不需要,windows下需要
解决:增加ace初始化,如果ACE:init()不好用,可以先实例化,再初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值