pkg-config
用于获取已安装库的基本信息
pkg-config
查看全部参数和意义
典型用法
1 | program: program.c |
就是[–cflags] [–libs],用来指出程序依赖的头文件和库文件路径
原理
pkg-config
读取库名对应的.pc
文件
默认情况下,会去prefix/lib/pkgconfig/
路径下查找,具体到Linux系统,就是/usr/lib/pkgconfig/
目录,若找不到,则会去PKG_CONFIG_PATH
环境变量指定的路径下查找。因此,如果我们安装的库文件不在系统环境变量中,需要将其添加到PKG_CONFIG_PATH
中,具体来说,执行如下操作:
1 | export PKG_CONFIG_PATH=/home/mylibs/lib/pkgconfig:$PKG_CONFIG_PATH |
sox.pc
内容
1 | prefix=/usr/local |
最后两个参数可以简化Makefile的书写
编写.pc
例子1 动态库的pc文件
假设我写了libfoo.so,我的库将会被安装到/usr/local/lib/,头文件会放到/usr/local/include/foo。那么,pc文件可以这么写。
1 | prefix=/usr/local |