linux里命令pkg-config工具的使用
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-03
将按照设置路径的先后顺序进行搜索,直到找到指定的 .pc 文件为止.
安装完 Glib 后,在 bash 中应该进行如下设置: $ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
可以执行下面的命令检查是否 /opt/gtk/lib/pkgconfig 路径已经设置在 PKG_CONFIG_PATH 环境变量中:
$ echo $PKG_CONFIG_PATH
这样设置之后,使用 Glib 库的其它程序或库在编译的时候 pkg-config 就知道要到 /opt/gtk/lib/pkgconfig 这个目录中去寻找 glib-2.0.pc 了(GTK 和其它的依赖库的 .pc 文件也将拷贝到这里,也会到这里搜索它们对应的 .pc 文件).之后,通过 pkg-config 就可以把其中库的编译和连接参数提取出来供程序在编译和连接时使用.
另外还需要注意的是:环境变量的设置只对当前的终端窗口有效.如果到了没有进行上述设置的终端窗口中,pkg-config 将找不到新安装的 glib-2.0.pc 文件、从而可能使后面进行的安装(如 Glib 之后的 Atk 的安装)无法进行.
在我们采用的安装方案中,是使用环境变量对 GTK 及其依赖库进行的设置,当系统重新启动、或者新开一个终端窗口之后,如果想使用新安装的 GTK 库,需要如上面那样重新设置 PKG_CONFIG_PATH 和 LD_LIBRARY_PATH 环境变量.
这种使用 GTK 的方法,在使用之前多了一个对库进行设置的过程.虽然显得稍微繁琐了一些,但却是一种最安全的使用 GTK 库的方式,不会对系统上已经存在的使用了 GTK 库的程序(比如 GNOME 桌面)带来任何冲击.
为了使库的设置变得简单一些,可以把下面的这两句设置保存到一个文件中(比如 set_gtk-2.10 文件):
export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH 之后,就可以用下面的方法进行库的设置了(其中的 source 命令也可以用 . 代替): $ source set_gtk-2.10
只有在用新版的 GTK 库开发应用程序、或者运行使用了新版 GTK 库的程序的时候,才有必要进行上述设置.如果想避免使用 GTK 库之前上述设置的麻烦,可以把上面两个环境变量的设置在系统的配置文件中(如 /etc/profile)或者自己的用户配置文件中(如 ~/.bash_profile) ;库的搜索路径也可以设置在 /etc/ld.so.conf 文件中,等等.这种设置在系统启动时会生效,从而会导致使用 GTK 的程序使用新版的 GTK 运行库,这有可能会带来一些问题.当然,如果你发现用新版的 GTK 代替旧版没有什么问题的话,使用这种设置方式是比较方便的.加入到~/.bashrc中,例如: PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig 重启之后: [root@localhost ~]# echo $PKG_CONFIG_PATH /opt/gtk/lib/pkgconfig 二、运行时 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,使用这两个目录中的库时不需要进行设置搜索路径即可直接使用.对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中.设置库文件的搜索路径有下列两种方式,可任选其一使用:
添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个.例如: /usr/X11R6/lib /usr/local/lib /opt/lib 需要注意的是:第二种搜索路径的设置方式对于程序连接时的库(包括共享库和静态库)的定位已经足够了,但是对于使用了共享库的程序的执行还是不够的.这是为了 |
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于linux里命令pkg-config工具的使用的所有评论