1

我尝试使用最新版本的 TAO IDL Compiler(已发布的软件包版本 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)。

编辑:

接口转发的主要问题是已经定义的接口的转发隐藏了该接口的内容。

例子:

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 通过这种方式生成的。

4

1 回答 1

1

对于接口转发,创建一个小型复制器,如果这是 TAO_IDL 中的错误,则在http://bugzilla.dre.vanderbilt.edu/的 TAO bugzilla 中报告它

于 2011-07-04T09:20:15.137 回答