我使用 c++11,但也有一些没有为其配置的库,需要进行一些类型转换。特别是我需要一种将 std::__cxx11::string
转换为常规 std::string
的方法,但是谷歌搜索我找不到这样做的方法并将 (string)
放在前面工作。
如果我不转换,我会收到如下链接器错误:
undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, H5::DataType const&) const'
原文由 jorgen 发布,翻译遵循 CC BY-SA 4.0 许可协议
您是否有可能使用 GCC 5?
资料来源: GCC 5 发行说明/双 ABI
在包含任何标准库头文件 之前 定义以下宏应该可以解决您的问题:
#define _GLIBCXX_USE_CXX11_ABI 0