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

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

Mary-Kate Olsen
发布: 2024-12-17 19:00:14
原创
751 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板