当前位置:  编程语言>c/c++

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

 
    发布时间:2013-9-2  


    本文导语: 从源码编译安装升级了gcc以后,程序编译运行时偶尔会遇到这样的问题:/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found运行以下命令检查:strings /usr/lib/libstdc++.so.6 | grep GLIBC得到结果:GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBC...

源码编译安装升级gcc以后,程序编译运行时偶尔会遇到这样的问题:

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

运行以下命令检查:

strings /usr/lib/libstdc++.so.6 | grep GLIBC

得到结果:

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
GLIBCXX_3.4.14
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

主要原因就是你最新升级gcc后生成动态库没有替换老版本gcc的动态库,通过

find / -name "libstdc++.so*"

得到:

/gcc-g++/gcc/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/gcc-g++/gcc/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.15
/gcc-g++/gcc/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/gcc-g++/gcc-dst/lib64/libstdc++.so.6
/gcc-g++/gcc-dst/lib64/libstdc++.so.6.0.15
/gcc-g++/gcc-dst/lib64/libstdc++.so


可以找到当前系统中所有 libstdc++.so库,将最新版本(libstdc++.so.6.0.15)的库拷贝到 /usr/lib 和 /usr/lib64目录下后执行以下命令,将默认库指向改变:

rm -rf   /usr/lib/libstdc++.so.6
ln -s    /usr/lib/libstdc++.so.6.0.15  /usr/lib64/libstdc++.so.6
rm -rf   /usr/lib64/libstdc++.so.6
ln -s    /usr/lib64/libstdc++.so.6.0.15  /usr/lib64/libstdc++.so.6

确保将/usr/lib64/ 和 /usr/lib 两个目录添加到 /etc/ld.so.conf 后,执行ldconfig将库加载到系统缓存中,问题解决


  • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3