2

我知道我可以通过设置LD_LIBRARY_PATH等来修改库搜索路径,但这种方法有时很蹩脚。我真的很想拥有/usr/local/lib默认路径,但不幸的,这在 GNU/Linux 中似乎不是默认路径。(我之前遇到过很多问题/usr/local/lib,安装相同的库/usr/lib反而解决了这些问题。但我真的不想惹麻烦/usr/lib。)

那么,是否可以一劳永逸地修改默认库路径?谢谢。

4

2 回答 2

4

在 Linux 中,您可以编辑/etc/ld.so.conf中的条目

您还可以通过传递直接在编译的可执行文件中更改默认搜索路径

-R /usr/local/lib

到 C 编译器。

您可以使用以下命令检查可执行文件的编译搜索路径:
readelf -d <file> | grep RPATH

这里有更全面的描述。

于 2013-06-14T15:44:33.440 回答
1

最好将库路径更改为某个二进制文件:

patchelf --set-rpath=/usr/local/lib:/usr/lib my_binary
于 2013-06-14T15:47:25.763 回答