您的位置:首页 > Web前端

undefined reference to ...... @GLIBCXX

2015-08-08 18:20 633 查看
最近在用CMake编译一个C++的Web框架WT时,遇到类似如下报错:

undefined reference to `__cxx11_std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.21'

undefined reference to `__cxx11_std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.21‘

undefined reference to `__cxx11_std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*)@GLIBCXX_3.4.21'

In function `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)':

: undefined reference to `__cxx11_boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'

collect2: ld returned 1 exit status

按照网上的做法:升级glibc++库,重新做好软连接,之后还是不行,最终发现问题:

1、我的Gcc之前用的是CentOS自带的版本,我升级成了支持C++11的Gcc5.1;

2、虽然用gcc -v显示的版本没问题,但是没有把之前的Gcc4.3清除干净;

3、安装Cmake和boost1.58时,可能系统自动使用了不同的gcc版本;

把老版本的Gcc4.3完全干掉后,重装Cmake和boost,编译通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: