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