pkg-config工具可以用来获取一个软件包的信息。当然,前提是软件包安装的时候安装了.pc文件以及正确地设置了PKG_CONFIG_PATH变量。
在/usr/lib/pkgconfig 下,会看到许多的*.pc文件,
用文本编辑器打开
会发现类似下面的信息:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: GLib
Descrīption: C Utility Library
Version: 2.4.7
Libs: -L${libdir} -lglib-2.0
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include
我们的pkg-config工具就是通过这些文件来获得软件包信息的。所以,它必须要能到这些文件的路径。通常它们在/usr/lib/pkgconfig/文件夹下。当然,它们也有可能在/usr/local/lib/pkgconfig/下,我们需要把需要的路径加入到PKG_CONFIG_PATH中:
export PKG_CONFIG_PATH=$PKG_CONFIG_PAT:/usr/local/lib/pkgconfig
之后echo它一下就可以啦:
echo $PKG_CONFIG_PAT
结果是:
/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
(可能会更多。。。)
此时,很多安装包的configure中的依赖模块的版本检查就可以过啦:
pkg-config [modulename] --atleat-version=[xxx]
我们也可以用它来查看某一软件包的版本等信息了:
pkg-config [modulename] --modversion