Rhapsody生成されたIDLファイルとCorba 3.1の間で完全なコンプライアンスを取得することは可能ですか?

StackOverflow https://stackoverflow.com/questions/5936900

  •  30-10-2019
  •  | 
  •  

質問

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によって生成されるため、このようにできません。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top