【发布时间】:2010-10-27 13:51:09
【问题描述】:
我在沙盒目录中安装了一些共享/动态库。我正在构建一些链接到库的应用程序。在这方面,我遇到了 OSX 和 Linux 之间的差异,我不确定(最好的)解决方案是什么。
在 OSX 上,库本身的位置被记录到库中,因此如果您的应用程序链接到它,可执行文件知道在运行时到哪里查找库。这与我的沙盒的预期效果一样,因为可执行文件在那里而不是系统范围的安装路径。
在 Linux 上我无法让它工作。显然图书馆位置不存在于图书馆本身。据我了解,您必须将包含库的文件夹添加到 /etc/ld.so.conf 并通过运行 ldconfig 重新生成 ld 缓存。
这似乎对我不起作用,因为我的库位于用户主目录中。看起来 ldconfig 不喜欢那样,这实际上是有道理的。
我该如何解决这个问题?我不想将库移出我的沙盒。
【问题讨论】:
标签: linux macos shared-libraries sandbox