【发布时间】:2016-01-28 10:56:11
【问题描述】:
我用的是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'
【问题讨论】:
-
这个错误听起来更像是编译器找不到
insertMember()方法。 -
嗯,它可以与我其他不使用
c++11的程序一起找到它@ -
另外我猜你正在使用 gcc。我希望在字符串标头的
std命名空间中的某处有一些typedef __cxx11::basic_string basic_string。你是否也编译包含H5::CompType的编译单元? -
“我使用 c++11,但也有一些没有配置的库”。这种情况是有问题的,你不能真的指望东西能正常工作。 gcc.gnu.org/wiki/Cxx11AbiCompatibilityweb.archive.org/web/20170210052503/http://…等等。
-
我在排除故障后找到了解决这个问题的方法,所以我想分享一下,问题是我使用
gcc而不是g++来编译...
标签: c++ string c++11 types std