我知道我可以通过设置LD_LIBRARY_PATH
等来修改库搜索路径,但这种方法有时很蹩脚。我真的很想拥有/usr/local/lib
默认路径,但不幸的是,这在 GNU/Linux 中似乎不是默认路径。(我之前遇到过很多问题/usr/local/lib
,安装相同的库/usr/lib
反而解决了这些问题。但我真的不想惹麻烦/usr/lib
。)
那么,是否可以一劳永逸地修改默认库路径?谢谢。
在 Linux 中,您可以编辑/etc/ld.so.conf中的条目
您还可以通过传递直接在编译的可执行文件中更改默认搜索路径
-R /usr/local/lib
到 C 编译器。
您可以使用以下命令检查可执行文件的编译搜索路径:
readelf -d <file> | grep RPATH
这里有更全面的描述。
最好将库路径更改为某个二进制文件:
patchelf --set-rpath=/usr/local/lib:/usr/lib my_binary