如果共享库文件位于 $LD_LIBRARY_PATH 中,并且我知道该库的名称(无 root 访问权限),那么如何找到它?

如果共享库文件位于 $LD_LIBRARY_PATH 中,并且我知道该库的名称(无 root 访问权限),那么如何找到它?

假设我有一个依赖于的程序libbz2。该libbz2.so.1文件位于$LD_LIBRARY_PATH中,我可以-lbz2毫无问题地进行编译。

如何找到用于编译的特定共享目标文件?

一个标准的方法是使用ldconfig(如这里,例如)。但是,ldconfig至少在 Debian 上需要 root 权限,并且我想从非特权 bash 脚本中查找文件。

所以问题是,如何找到使用的特定文件没有root 权限?鉴于 gcc 能够毫无问题地找到该库,因此这似乎很有可能。

编辑:我似乎没有很好地表述我最初的问题。我想知道如果我要编译程序,链接器将使用哪个文件,无需实际编译

相关内容