Можно ли получить полное соответствие между сгенерированными Rhapsody файлами IDL и CORBA 3.1? - PullRequest
1 голос
/ 09 мая 2011

Я пытался скомпилировать сгенерированные файлы IDL из Rhapsody 7.1.1 с последней версией TAO IDL Compiler (выпущенная версия пакета 6.0.2), но я получаю некоторые ошибки, потому что анонимные типы устарели в CORBA 3.1. *

Этот тип ошибок может быть подавлен с помощью параметра "-as" TAO IDL Compiler. Но из соображений обслуживания я хочу создать совместимые файлы IDL.

Кроме того, я получаю другие ошибки от компилятора TAO IDL, связанные с переадресацией интерфейса. Эти сгенерированные файлы IDL компилируются правильно до версии 5.7.9 TAO (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
};

Если я удаляю форвард А, проблем не возникает, но я не могу, потому что таким образом файлы RL создаются с помощью Rhapsody.

1 Ответ

1 голос
/ 04 июля 2011

Для прямого интерфейса создайте небольшой репродуктор и, если это ошибка в TAO_IDL, сообщите об этом в bugzilla TAO по адресу http://bugzilla.dre.vanderbilt.edu/

...