Est-il possible d'obtenir une conformité complète entre les fichiers IDL générés par Rhapsody et Corba 3.1?

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

  •  30-10-2019
  •  | 
  •  

Question

J'ai essayé de compiler des fichiers IDL générés à partir de Rhapsody 7.1.1 avec la dernière version du compilateur TAO IDL (version du package publié 6.0.2), mais j'obtiens des erreurs car les types anonymes sont obsolètes dans CORBA 3.1.

Ce type d'erreurs pourrait être supprimé en utilisant l'option TAO IDL "-as". Mais, pour des raisons de maintenance, je veux générer des fichiers IDL conformes.

De plus, j'obtiens d'autres erreurs du compilateur TAO IDL liées au transfert d'interface. Ce fichiers IDL généré compile correctement jusqu'à TAO version 5.7.9 (1.7.9).

Édité:

Le principal problème avec le transfert d'interface est qu'un avant d'une interface déjà définie masque le contenu d'une telle interface.

Exemple:

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
};

Si je supprime l'avant de A, il n'y a pas de problème, mais je ne peux pas parce que les fichiers IDL sont générés par Rhapsody de cette façon.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top