码迷,mamicode.com
首页 > 其他好文 > 详细

gcc5.4报错对‘std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()’未定义的引用

时间:2018-04-30 14:30:13      阅读:5216      评论:0      收藏:0      [点我收藏+]

标签:html   line   dual   http   方法   manual   log   c++   name   

我在编译ligra是遇到了这个问题,网上搜了一遍,发现是了原因https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html

gcc5.4中C++11对一些变量的解析不太一样(表达不太好),比如,f std::list<int>被定义为了std::__cxx11::list<int>,所以会出现未定义引用的错误,。

解决办法禁用C++11的相关特性,方法如下:https://blog.csdn.net/ufolr/article/details/52669333

我使用的是在编译选项中预定义宏。

方法很简单,直接在Makefile选项中添加-D_GLIBCXX_USE_CXX11_ABI=0

gcc -std=c14 -D_GLIBCXX_USE_CXX11_ABI=0 ........

gcc5.4报错对‘std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()’未定义的引用

标签:html   line   dual   http   方法   manual   log   c++   name   

原文地址:https://www.cnblogs.com/JsonZhangAA/p/8973516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!