Linux 下动态链接库搜索路径问题

来源:互联网 发布:django 返回json list 编辑:程序博客网 时间:2024/05/06 15:06

以前曾经用过,时间久了,也就忘记了。这次用到,搜到了这篇文章,这里记一下。


捣鼓 Linux 有些年头了,居然还有这么基本的东西都没掌握,汗一个。今天自己写的一个程序,因要用到标准搜索路径之外的地方去调动态链接库,所以……学习内容整理如下:

1、可以用 LD_LIBRARY_PATH 环境变量指定,这个类似于 PATH 机制,比较直观,而且,可以放到 bashrc 中固化下来,也可以放到自己的 .bashrc 中只对本用户起作用;
2、如果启用了 ld.so.cache 的话,系统会在 /etc/ld.so.cache 中存储所有可引用的动态链接库。这个文件的内容可以通过 /etc/ld.so.conf 来指定;这个是比较固定的机制,对全局所有用户都有影响;不过更改设置后需要 root 调用 ldconfig 来刷新一下。
3、默认的标准库路径,这个似乎不用设置就可以。包括 /lib 和 /usr/lib。当然,如果是64位系统,还包括 /lib64 和 /usr/lib64。
4、其它情况,如果只想对某一个特定的应用程序起作用的话,可以在编译时指定搜索路径。gcc 的 -Wl 和 -rpath 参数。


奇怪的是, /usr/local/lib 和 /usr/local/lib64 居然不在标准路径之列。 2009-12-15


http://blog.163.com/hotman_x.vip/blog/static/4895013320096122147961/

原创粉丝点击