我在沙箱目录中安装了一些共享/动态库。我正在构建一些链接库的应用程序。我在这方面遇到了OSX和Linux之间的区别,我不确定(最好的)解决方案是什么。如何链接本地目录中的共享库,OSX vs Linux
在OSX上,库自身的位置被记录到库中,以便如果应用程序链接到库,则可执行文件知道在运行时在哪里查找库。这与我的沙盒中预期的一样,因为可执行文件在那里查找,而不是系统范围的安装路径。
在Linux上,我无法使其工作。显然,图书馆本身并不存在图书馆的位置。据我了解,您必须将包含库的文件夹添加到/etc/ld.so.conf,并通过运行ldconfig重新生成ld缓存。
这似乎并没有为我做伎俩,因为我的图书馆位于用户主目录内。它看起来像ldconfig不喜欢,这实际上是有道理的。
我该如何解决这个问题?我不想将这些库移出我的沙箱。
我莫名其妙地被使用以为LDCONFIG LD_LIBRARY_PATH。我不知道你可以动态改变它。它像一个魅力。谢谢! – 2010-10-27 14:14:46
我投了这个答案,我的错误:-p – 2011-04-14 10:14:02
'-Wl,-rpath,/ path/to/sandbox' – Jed 2014-02-10 06:29:40