在 Linux 系统中,要查看某个共享库(如 .so 文件)所依赖的链接库(如 libxxx.so),可以使用 readelf 或 ldd 工具。
方法一:使用 readelf 命令
readelf 是用于查看 ELF 文件信息的工具,可以显示共享库的依赖关系。
readelf -d libxxx.so说明:
-d选项用于显示共享库的依赖关系。- 输出中会显示类似以下内容:
Libtool: version 2.4.4 0x0000000000000000: 0x0000000000000000 GLIBC_2.2.5 0x0000000000000000: 0x0000000000000000 GLIBC_2.3.2 0x0000000000000000: 0x0000000000000000 GLIBC_2.4 0x0000000000000000: 0x0000000000000000 GLIBC_2.5 0x0000000000000000: 0x0000000000000000 GLIBC_2.6这些行显示了该共享库依赖的 Glibc 版本,但不显示实际的链接库名称。
方法二:使用 ldd 命令
ldd 用于显示共享库的依赖关系,可以更直观地看到实际的链接库。
ldd libxxx.so输出示例:
libxxx.so: GNU GLIBC++ 2.33libxxx.so: /lib64/libc-2.33.so (libc.so.6)libxxx.so: /lib64/ld-linux-x86-64.so.2 (ld-linux-x86-64.so.2)说明:
libxxx.so是共享库文件。- 每一行显示了该共享库依赖的链接库(如
libc.so.6)。 - 可以通过
ls -l查看文件的路径。
方法三:使用 file 命令(可选)
如果只是想查看文件类型,可以使用:
file libxxx.so输出示例:
libxxx.so: ELF 64-bit LSB shared object, x86-64, version 2.0 (GNU), dynamically linked (shared library), for GNU/Linux 3.2.0, BuildID[0-7], not stripped总结
| 命令 | 用途 | 适用场景 |
|---|---|---|
readelf -d libxxx.so | 查看共享库的依赖关系(包括 Glibc 版本) | 详细调试 |
ldd libxxx.so | 显示共享库依赖的链接库 | 常用、直观 |
file libxxx.so | 查看文件类型 | 快速判断 |
推荐使用 ldd 命令
ldd libxxx.so这是最常用、最直观的方式,适用于大多数 Linux 系统。


