/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决方法
来源:互联网 发布:从小到大 性经历 知乎 编辑:程序博客网 时间:2024/06/05 07:56
问题重现:当我们运行某一个用C系列语言编译而成的程序的时候,可能会接收到这个错误——这个错误的意思是,没有找到GLIBC版本是3.4.14的相应C++标准库。
问题起源:首先,我们需要清楚,一个程序从被加载之后,需要进行动态链接,而动态链接,需要对应版本的glibc库。但是我们的可执行文件需要哪个版本的glibc库呢?
这个版本问题,已经存在于我们的可执行文件ELF格式中。我们可以用命令这样查看。
[22:10huangyk@leetcode]$>strings numDistinct | grep GLIB
GLIBC_2.2.5
GLIBCXX_3.4.5
GLIBCXX_3.4.14
GLIBCXX_3.4
好了,我们看到了ELF文件加载需要的GLIB库版本。这些版本信息是什么时候被加进去的呢?
答案:是在使用gcc编译程序的时候被加进去的。也就是说,如果两个平台的GLIBC库版本不同,同时GCC版本不同,那么它们的二进制文件是不能通用的。
问题:到什么地方去找安装在本地的GLIBC库呢?又如何寻找对应版本呢?
答案:默认的动态链接库,存放的路径是/usr/lib64/libstdc++.so.6。但是,如果我们自己编译了GCC,对应的libc和libc++的库文件位置就会发生变化。假如我们的安装路径是/usr/local/gcc4.8.3, 那么对应的库文件位置是/usr/local/gcc4.8.3/lib:/usr/local/gcc4.8.3/lib64.
问题:为什么我已经安装了对应的GLIBC库,但是仍然出现上述错误呢?
答案:虽然我们已经安装了对应的库,但是连接器不能顺利找到新库所在的位置。还会接着到原来的目录/usr/lib64/libstdc++.so.6寻找对应的文件。所以,我们需要借助环境变量LD_LIBRARY_PATH来指明动态链接库对应的位置。
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决方法
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
- 不删该任何文件解决 “/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found “
- spark 1.1.0 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./xxxx
- gcc连接文件error: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.X.XX‘ not found
- 解决类似/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found错误
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法
- centos系统启动Android模拟器报:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- ubuntu14.04 genymotion /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
- GB8567——88
- 第15周项目一 文本输入、输出工资
- 2014-6-8
- 程序员生存定律--交换是职场里一切的根本
- 第15周 项目3 oop版电子词典
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决方法
- Oracle shutdown immediate无法关闭数据库解决方法
- 迟来的信手一笔
- ubuntu mint 安装博通bcm4312无线网卡驱动
- 转圈游戏
- eclipse ant Tomcat 远程部署问题
- ubuntu安装xfce 非常简洁的桌面
- 一个tomcat上部署多个项目,并通过不同端口号访问不同的项目
- operator类型转换函数