ldconfig几个需要注意的地方 特此记录一下:
1.往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.con的,但是完了之后要调一下ldconfig,不然这个library会找不到。
2.想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。
比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。
3.如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD LIBRARY PATH,然后运行程序的时候就会去这个目录中找library。般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。4.Idconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有,编译的时候还是该加-L就得加
不要混淆了。5.总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果不会花太多的时间,但是会省很多的事。
6.再有,诸如libdb-4.3.so文件头中是会含有库名相关的信息的(即含“libdb-4.3.so”,可用strings命令察看),因此仅通过修改文件名以冒充某已被识别的库 (如libdb-4.8.so) 是行不通的。为此可在编译库的Makefile中直接修改配置信息,指定特别的库名。
06-12
3034
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-12
705
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)