我尝试使用最新版本的TAO IDL编译器(已发布的软件包版本6.0.2)从Rhapsody 7.1.1编译生成的IDL文件,但我收到一些错误,因为在CORBA 3.1中不推荐使用匿名类型。
使用TAO IDL编译器“-as”选项可以抑制此类错误。但是,出于维护原因,我想生成兼容的IDL文件。
另外,我从TAO IDL编译器中获得了与接口转发相关的其他错误。生成的IDL文件正确编译,直到TAO版本5.7.9(1.7.9)。
编辑:
接口转发的主要问题是已定义接口的转发隐藏了此类接口的内容。
示例:
A.idl
interface A {
typedef long my_long_type;
};
B.idl
#include "A.idl"
interface A;
interface B {
typedef A::my_long_type my_b_long; // Error with TAO versions greater than 5.7.9
};
如果我删除A的前进没有问题,但我不能,因为IDL文件是由Rhapsody以这种方式生成的。
答案 0 :(得分:1)
对于接口转发,创建一个小型复制器,如果这是TAO_IDL中的错误,请在http://bugzilla.dre.vanderbilt.edu/
的TAO bugzilla中报告