首页 >后端开发 >C++ >如何在 C 11 中将 std::__cxx11::string 转换为 std::string?

如何在 C 11 中将 std::__cxx11::string 转换为 std::string?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-17 19:00:14753浏览

How to Convert std::__cxx11::string to std::string in C  11?

将 std::__cxx11::string 转换为 std::string

在 C 中,当与未针对标准配置的库一起使用 C 11 时,类型转换变得必要。具体来说,通常需要将 std::__cxx11::string 转换为 std::string。

问题陈述:

之前,尝试使用以下结构执行此转换(字符串)失败,导致类似的链接器错误至:

undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&amp;, unsigned long, H5::DataType const&amp;) const'

解决方案:

使用 GCC 5 并尝试链接使用 _GLIBCXX_USE_CXX11_ABI 宏的不同值编译的对象文件时,可能会出现此问题。要解决此问题,请按如下方式重新定义宏:

#define _GLIBCXX_USE_CXX11_ABI 0

将此定义放在代码中任何包含标准库标头之前。

以上是如何在 C 11 中将 std::__cxx11::string 转换为 std::string?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn