linux下一般程序运行时查找动态库的顺序:

(1)根据环境变量LD_LIBRARY_PATH查找

(2)根据/etc/ld.so.cache查找

(3)查找依次在/lib和/usr/lib目录查找


---------------------------------


LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路经。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./lib

export LD_LIBRARY_PATH



Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig 生成 /etc/ld.so.cache

ld.so 加载共享库的时候,会从 ld.so.cache 查找。


/etc/ld.so.conf 内容如下:

include ld.so.conf.d/*.conf


/etc/ld.so.conf.d]#ll

total 16

-rw-r--r--. 1 root root  15 Nov 11  2010 ctapi-i686.conf

-r--r--r--. 1 root root 324 Nov 22  2013 kernel-2.6.32-431.el6.i686.conf

-rw-r--r--. 1 root root  15 Nov 23  2013 mysql-i386.conf

-rw-r--r--. 1 root root  19 Oct 30  2013 xulrunner-32.conf