Rhapsody生成された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によって生成されるため、このようにできません。
正しい解決策はありません
所属していません StackOverflow