/etc/ld.so.conf
记录了编译时使用的动态链接库的路径.默认情况下,编译器只会使用/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这个搜索路径,所以编译gtk+-2.4.13就会出错了.将/usr/local/lib加入到/etc/ld.so.conf也是必须的,将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择.
ldconfig
作用就是将/etc/ld.so.conf列出的路径下的库文件 缓存到/etc/ld.so.cache 以供使用因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig
PKG_CONFIG_PATH
向configure程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路径啦,等等这些信息只是在编译其间使用。你可以 ls /usr/lib/pkgconfig 下,会看到许多的*.pc,用文本编辑器打开.
安装库文件时,指定安装到/usr,是很有好处的,无论是/etc/ld.so.conf还是PKG_CONFIG_PATH默认都会去搜索/usr/lib的,可以省下许多麻烦,不过从源码包管理上来说,都装在/usr下管理是个问题,不如装在/usr/local下方便管理其实只要设置好ld.so.conf,PKG_CONFIG_PATH路径后,就OK.
关系到能否成功编译的东东
最新推荐文章于 2024-02-29 11:27:51 发布