问题:
Centos里由于 glicxx 库和 glic 库版本低,不能运行别的 Centos 编译好的 C++ 程序
可通过
strings /lib64/libc.so.6 | grep GLIBC_
查看系统 GLIBC 支持的版本
可通过strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
查看系统 GLIBCXX 支持的版本
笔者系统支持的版本:
原因
- Centos为求稳定,其系统自带的 GLIBC 和 GLIBCXX 版本太低,软件编译时使用了较高版本,运行时不兼容导致。
- GLIBC 是 GNU 发布的 C 运行库,GLIBC 是 Linux 系统中最底层的 API,几乎其它任何运行库都会依赖于GLIBC。GLIBC 除了封装 Linux 操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
- 很多 Linux 的基本命令,比如cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重。