【发布时间】:2011-03-20 12:11:02
【问题描述】:
我刚刚偶然发现了一些奇怪的行为:在启动应用程序之前,我已将 LD_LIBRARY_PATH 设置为包含所有需要的库的本地库目录。启动后,我从 LD_LIBRARY_PATH 加载了部分(大部分)库,但从标准 /usr/lib 加载了一些库(例如 /usr/lib/libQtNetwork.so.4、/usr/lib/libSM.so。 6)。所有这些库都包含在 LD_LIBRARY_PATH 中列出的目录中。谁能解释我为什么会有这样的行为? 我对 Linux 世界不是很熟悉,但this article 说我的方法应该可行
附:如果我将 /usr/libs 重命名为其他名称,我的应用程序将使用从我的库位置使用的所有库运行
提前致谢!
【问题讨论】:
-
这个问题适合superuser.com
-
确实如此,尤其是在变量名固定的情况下。它在 Linux 上是
LD_LIBRARY_PATH。 -
谢谢,我已经更正了环境名称。这是帖子中的错误,而不是实际脚本中的错误。
-
您能告诉我们您是如何启动您的应用程序以及您是如何设置 LD_LIBRARY_PATH 的吗?
标签: linux operator-precedence dynamic-library