Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391074
  • 博文数量: 89
  • 博客积分: 3176
  • 博客等级: 中校
  • 技术积分: 1205
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-15 10:08
文章分类

全部博文(89)

文章存档

2011年(17)

2010年(19)

2009年(35)

2008年(18)

分类: LINUX

2009-01-20 11:07:32

########################
#
#    /etc/ld.so.conf
#
########################

这个文件记录了编译时使用的动态链接库的路径。

默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件。

如在/usr/local/下安装的软件,默认库会安装在/usr/local/lib下。

故,需要把/usr/local/lib加入到动态链接库路径/etc/ld.so.conf。

vim /etc/ld.so.conf
-----------------------------------

/lib
/usr/lib
/usr/local/lib
/usr/X116/lib

-----------------------------------

 


########################
#
#    /sbin/ldconfig
#
########################

它是一个程序,通常它位于/sbin下,它的作用就是将/etc/ld.so.conf列出的路径下的库文件 缓存到/etc/ld.so.cache 以供使用。

当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下/sbin/ldconfig

使所有的库文件都被缓存到ld.so.cache中。

 


########################
#
#    PKG_CONFIG_PATH
#
########################

pkg-config就是向configure程序提供系统信息的程序,比如软件的版本啦,库的版本啦,库的路径。

这些信息只是在编译其间使用。你可以 ls /usr/lib/pkgconfig 下,会看到许多的*.pc,用文本编辑器打开
会发现类似下面的信息:

ls /usr/lib/pkgconfig
--------------------------------------------------

prefix=/usr
exec_prefix=$
libdir=$/lib
includedir=$/include

glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.4.7
Libs: -L$ -lglib-2.0
Cflags: -I$/glib-2.0 -I$/glib-2.0/include

--------------------------------------------------

如果遇到configure所预测的软件版本不对的情况,是因为在默认的/usr/lib/pkgconfig下和/usr/local/lib/pkgconfig下都有了此软件文件,
但会先运行默认的/usr/lib/pkgconfig,故把此目录下的软件文件删除即可。

configure就是靠这些信息判断你的软件版本是否符合要求。并且得到这些东东所在的位置设定好后可以加入到~/.bashrc中,例如:

PKG_CONFIG_PATH=/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:/usr/X11R6/lib/pkgconfig

echo $PKG_CONFIG_PATH
/opt/kde-3.3.0/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/pkgconfig:/usr/X11R6/lib/pkgconfig

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

阅读(975) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~