在ubuntu上执行cpp文件时,出现错误:
version `GLIBCXX_3.4.21’ not found
1.原因分析
我所使用的ubuntu系统自带的gcc版本是4.8,因为编译需要我把gcc手动升级到了5.4版本。出现上述错误的原因是:在升级gcc时,生成的动态库没有替换旧版本的动态库。
2.解决方法
检查一下动态库
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
看一下结果
发现没有我们所需要的 GLIBCXX_3.4.21。
这时候我们需要查找一下编译gcc时生成的最新动态库:
sudo find / -name "libstdc++.so*"
我们将最新的动态库替换上去,
sudo cp /usr/local/gcc-build-5.4.0/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so /usr/lib/x86_64-linux-gnu/libstdc++.so.6
然后再执行cpp文件就成功了。