|
|

楼主 |
发表于 2008-10-23 17:31:21
|
显示全部楼层
在坛子里看到的关于动态连接器搜索库路径的东东:
在Linux下,大部分系统的library库被安装在/usr/lib目录下。只有一些基本的共享库被安装在/lib目录下。例如:libc.so,libcurses.so,libm.so,libtermcap.so(各个版本对应的文件会有些不同),在其他部分被mount上之前,那些文件是启动Linux系统所必须的。连接器默认的搜索路径是/lib,/usr/lib,/usr/local/lib。
环境变量LD_LIBRARY_PATH列出了查找共享库时除了默认路径之外的其他路径。
/etc/ld.so.conf文件则指出了程序ldconfig要搜索的目录。该程序将这些目录中所有的共享库都存储到/etc/ld.so.cache中。假如共享库已经被从默认的目录中移走,Linux ELF动态连接库将在/etc/ld.so.cache文件中找该共享库。
程序ldconfig将把/etc/ld.so.conf文件中列出的搜索目录中的所有的共享库存储到/etcld.so.cache中。假如共享库已经被从默认的目录中移走,Linux ELF动态连接库将在/etc/ld.so.cache文件中找该共享库。
对于普通用户无法修改/etc/ld.so.conf,又想用其他位置的库,就可以用LD_LIBRARY_PATH |
|