pkg-config命令是目前大多数操作系统都支持的一个用于查找库文件编译信息的工具,它最初是在linux平台上开发的,但是现在mac、linux、windows都支持pkg-config的使用。
pkg-config在编程中非常有用,当我们需要使用外部动态链接或者静态链接库的时候,往往不知道应该在编译命令中添加什么参数或者去哪个目录中查找对应的库文件,这个时候就体现了pkg-config命令的作用。
我们通过一个简单的示例来演示pkg-config命令的用途,例如我们需要在自己编写的程序中应用pixman-1提供的功能,那么在gcc或者g++编译命令中应该如何添加参数来引入pixman-1的库呢。
使用如下命令
pkg-config pixman-1 --libs
显示了如果我们需要使用动态链接库,那么在使用编译器命令时应该如何添加编译选项。
pkg-config pixman-1 --cflags
显示了使用头文件需要添加的编译选项。
这样当我们需要使用第三方库的时候,就可以方便的获取相应的编译选项了。
pkg-config --list-all
显示当前pkg-config记录的所有的库信息。
pkg-config pixman-1 --version
显示指定库的版本信息
简单说一下pkg-config是如何查找到这些信息的,默认的情况下,pkg-config会读取/usr/lib64/pkgconfig目录下的所有pc文件,这些pc文件中记录了各个库的信息。还有一种情况,可以通过设置PKG_CONFIG_PATH环境变量来指定pkg-config命令获取pc文件的路径。