【发布时间】:2015-05-26 12:49:51
【问题描述】:
假设一个程序需要文件夹/usr/lib/foo 下的一个共享库(bar.so)。我知道如果 bar.so 直接在 /usr/lib 下,它会被自动找到。但在我的情况下,无法自动找到该库,因为 - 我认为是这样 - 它位于文件夹 /usr/lib/foo 下。但是 /usr/lib 下还有大量其他文件夹,并且使用这些库的相应程序可以无缝运行。
那么,这个过程是如何工作的,我该如何解决我的问题?
谢谢。
【问题讨论】:
假设一个程序需要文件夹/usr/lib/foo 下的一个共享库(bar.so)。我知道如果 bar.so 直接在 /usr/lib 下,它会被自动找到。但在我的情况下,无法自动找到该库,因为 - 我认为是这样 - 它位于文件夹 /usr/lib/foo 下。但是 /usr/lib 下还有大量其他文件夹,并且使用这些库的相应程序可以无缝运行。
那么,这个过程是如何工作的,我该如何解决我的问题?
谢谢。
【问题讨论】:
各个程序可以控制他们搜索库的位置。
还可以使用 LD_LIBRARY_PATH 环境变量控制搜索路径: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
尝试将 /usr/lib/foo 附加到您的 LD_LIBRARY_PATH 环境变量。
【讨论】: