/lib64/libc.so.6: version `GLIBC_2.7' not found 解决方案
Linux开发中,新旧版本不同的系统会遇到的一个很大问题是--兼容性。一般情况是旧系统编译的程序可以在新系统中运行,但是反过来新系统中编译的程序在旧系统中就不行了。 最明显的现象是高版本编译的程序在低版本系统中出现错误: /lib64/libc.so.6: version `GLIBC_2.7' not found 当然这个版本号码不一定是本文中的7 还有14也是个新版本,这要看你编译时的系统的版本了。 出现这个问题后我们首先需要确定是那些函数在当前系统(低版本的)中找不到,此处使用 objdump 命令,此处假设我们的应用程序名称为app,则 objdump -T app | grep GLIBC_2.7 (这个号码是上面出错的号码),得到了如下结果 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.7 __isoc99_sscanf 然后根据这个我们再看看当前系统有这个函数的哪个版本,命令如下 objdump -T /lib64/libc.so.6 | grep sscanf 得到如下结果 0000003e3685f050 g DF .text 0000000000000090 GLIBC_2.2.5 _IO_sscanf 0000003e3685f050 g DF .text 0000000000000090 GLIBC_2