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