【发布时间】:2012-10-20 08:38:29
【问题描述】:
如果不实现链接器或使用ldd,我如何才能找到库的完整路径? Linux 上是否有可用的标准库? (可能是 POSIX?)
在一个故意使用libGL.so.1的文件上使用ldd和grep,它看起来像:
$ ldd /usr/bin/glxinfo | grep libGL
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f34ff796000)
给定库名称 libGL.so.1,如何找到完整路径 /usr/lib/libGL.so.1?。最好接受查找 32 位和 64 位库的选项。如果没有库这样做,是否存在执行此操作的程序?像find-library-path libGL.so.1 这样的东西。 locate libGL.so.1 命令不算数。
如果它从该库执行代码,我不想实际使用 dlopen 或其他方式加载该库。
【问题讨论】:
-
依赖于可执行格式,但对于 Mach-O/OS X,请查看install_name_tool的来源
-
@user1744516 不幸的是,那些依赖于
ldd和现有的二进制文件。