tao_idl -Gstl не отображает std :: string

Я использую opendds и tao / ace для генерации кода из файла idl.

Мой файл idl:

struct SSave
{
string strr;
};

Я генерирую код так:

opendds_idl Class.idl
tao_idl -Gstl -I/usr/include/ Class.idl
tao_idl -Gstl -I/usr/include/ ClassTypeSupport.idl
#-Gstl Generate the alternate C++ mapping for IDL strings and sequences

И вот что я получил в файле ClassC.h например:

#include <vector>
#include <string> //inclusion of string
{...}
struct  SSave
{

// TAO_IDL - Generated from
// /build/opendds-3.13/ACE_TAO/TAO/TAO_IDL/be/be_type.cpp:304
typedef SSave_var _var_type;
typedef SSave_out _out_type;

static void _tao_any_destructor (void *);

::TAO::String_Manager strr; //NOT std::string
};
{...}

Так есть ли способ сказать TAO для сопоставления std :: string вместо :: TAO :: String_Manager?

Примечание: я использую версию 2.5.1 из tao_idl.

Заранее спасибо.

1

Решение

OpenDDS следует отображению языка IDL в C ++, где строка IDL отображается в свой собственный конкретный тип (как генерирует tao_idl). Как часть AXCIOMA мы реализовали IDL для C ++ 11 языковая карта для DDS, которая будет поддерживать OpenDDS в следующем основном выпуске.

Кстати, вы уже спрашивали этот в списке рассылки OpenDDS и получил ответ там.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]