这个文件记录了编译时使用的动态链接库的路径。
默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件
如果你安装了某些库,比如在安装gtk+-2.4.13时它会需要glib-2.0
>= 2.4.0,辛苦的安装好glib后
没有指定 --prefix=/usr
这样glib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib
=================
库文件的路径如
/usr/lib 或 /usr/local/lib 应该在 /etc/ld.so.conf 文件中,这样 ldd 才能找到这个库。在检查了这一点后,要以
root 的身份运行 /sbin/ldconfig
。
将/usr/local/lib加入到/etc/ld.so.conf中,这样安装gtk时就会去搜索/usr/local/lib,同样可以找到需要的库
将/usr/local/lib加入到/etc/ld.so.conf也是必须的,这样以后安装东东到local下,就不会出现这样的问题了。
ldconfig是个什么东东吧
:
它是一个程序,通常它位于/sbin下,是root用户使用的东东。具体作用及用法可以man
ldconfig查到
简单的说,它的作用就是将/etc/ld.so.conf列出的路径下的库文件 缓存到/etc/ld.so.cache
以供使用
因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig
使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果
编译过程中抱错,缺少xxx库,去查看发现明明就在那放着,搞的想大骂computer蠢猪一个。
相关文章
- 12-05sh: /etc/init.d/sshd: not found Docker中的Alpine镜像安装sshd无法启动
- 12-05tensorflow.keras.datasets 中关于imdb.load_data的使用说明
- 12-05jieba库的使用说明
- 12-05spring中注解注入 context:component-scan 的使用说明
- 12-05QT的horizontalSlider 控件使用说明
- 12-05JDK8新特性:函数式接口@FunctionalInterface的使用说明
- 12-05英文论文里的缩写:e.g. etc. et al. i.e.
- 12-05解决 macOS 升级 Big Sur 后 /etc/hosts 文件不生效的问题
- 12-05oralce 中union 和union all 的简单使用说明
- 12-05转 /etc/ld.so.conf.d/目录下文件的作用