升级完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