tao_idl -Gstl 不映射 std::string
tao_idl -Gstl doesn't map 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?
注意:我使用的是 tao_idl 的 2.5.1 版。
提前致谢。
OpenDDS 遵循 IDL 到 C++ 语言的映射,IDL 字符串被映射到它自己的特定类型(如 tao_idl 生成)。作为 DDS AXCIOMA we have implemented the IDL to C++11 语言映射的一部分,它将在下一个主要版本中支持 OpenDDS。
顺便说一句,您已经在 OpenDDS 邮件列表中询问 this 并在那里得到了回复。
我正在使用 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?
注意:我使用的是 tao_idl 的 2.5.1 版。
提前致谢。
OpenDDS 遵循 IDL 到 C++ 语言的映射,IDL 字符串被映射到它自己的特定类型(如 tao_idl 生成)。作为 DDS AXCIOMA we have implemented the IDL to C++11 语言映射的一部分,它将在下一个主要版本中支持 OpenDDS。
顺便说一句,您已经在 OpenDDS 邮件列表中询问 this 并在那里得到了回复。