是否可以在狂想曲生成的 IDL 文件和 CORBA 3.1 之间完全兼容



我尝试使用最新版本的 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 通过这种方式生成的。

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

相关内容

  • 没有找到相关文章

最新更新