Rhapsody 7.1.1 から生成された IDL ファイルを TAO IDL Compiler の最新バージョン (リリース済みパッケージ バージョン 6.0.2) でコンパイルしようとしましたが、CORBA 3.1 では匿名型が非推奨になっているため、いくつかのエラーが発生します。
この種のエラーは、TAO IDL Compiler の「-as」オプションを使用して抑制することができます。しかし、メンテナンス上の理由から、準拠した IDL ファイルを生成したいと考えています。
また、インターフェイス転送に関連する TAO IDL Compiler から他のエラーが発生します。この生成された 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 の forward を削除しても問題ありませんが、Rhapsody でこのように IDL ファイルが生成されているため削除できません。