为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig.此执行程序存放在/sbin目录下.
ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.
ldconfig命令行用法如下:
ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|--print-cache] [-c FORMAT] [--format=FORMAT] [-V] [-?|--help|--usage] path...
ldconfig几个需要注意的地方
http:~$ sudo vim /etc/ld.so.conf
比如将当前路径作为lib链接默认搜索路径,
include /etc/ld.so.conf.d/*.conf
include /usr/local/lib
include .
http:~$ sudo ldconfig
这样就不用每次export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH了
http:~$ vim /etc/profile
可以添加系统对应用程序的搜索路径,比如追加
umask 022
JAVA_HOME=/usr/local/jdk1.6.0_14
JRE_HOME=/usr/local/jdk1.6.0_14/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export JAVA_HOME JRE_HOME CLASSPATH
然后使用
http:~$ source /etc/profile
是设置立即生效,或者重新打开一个terminal.

本文详细介绍了ldconfig命令的作用及使用方法,包括如何配置动态链接库路径、何时需要运行ldconfig更新缓存,以及如何解决程序运行时找不到库文件的问题。
634

被折叠的 条评论
为什么被折叠?



