升级gcc后glibc报错

升级完gcc后执行c++报错:

/usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found

解决方法:
 
1. 查看libstdc++.so.6支持GLIBC
 
strings /usr/lib/libstdc++.so.6 | grep GLIBC
output:
 
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
 发现里面没有支持GLIBCXX_3.4.15。
 
2.这里我升级后的gcc库目录是/usr/local/lib

将目录下面的libstdc++.so.6和libstdc++.so.6.0.18拷贝到/usr/lib/目录下面:

  cp /usr/local/lib/libstdc++.so.6.0.18  /usr/lib/
  cp /usr/local/lib/libstdc++.so.6  /usr/lib

3.建立新的链接:

sudo ln -sf /usr/lib/libstdc++.so.6.0.18  /usr/lib/libstdc++.so.6
 
4.执行strings /usr/lib/libstdc++.so.6 | grep GLIBC 发现已经有了GLIBCXX_3.4.15。
 

参考:http://www.th7.cn/system/lin/201302/36899.shtml

posted @ 2013-04-11 20:59  peterpanzsy  阅读(923)  评论(0编辑  收藏  举报