pkg-config

✍ dations ◷ 2025-06-08 18:32:17 #Freedesktop.org,Computer libraries

pkg-config 是一个在源代码编译时查询已安装的库的使用接口的计算机工具软件。pkg-config原本是设计用于Linux的,但现在在各个版本的BSD、windows、Mac OS X和Solaris上都有着可用的版本。

它输出已安装的库的相关信息,包括:

当安装一个库时(例如从RPM,deb或其他二进制包管理系统),会包括一个后缀名为pc的文件,它会放入某个文件夹下(依赖于你的系统设置)。例如,在Linux为该软件的库文件所在文件夹lib之下的子文件夹pkgconfig。并把该子文件夹加入pkg-config的环境变量PKG_CONFIG_PATH作为搜索路径,例如在bash配置文件中加入一行:

 $ export PKG_CONFIG_PATH=/usr/local/`库的名字`/lib/pkgconfig:$PKG_CONFIG_PATH

在这个.pc文件里包含有数个条目。这些条目通常包含用于其他使用这个库的程序编译时需要的库设置,以及头文件的位置,版本信息和一个简介。

这是一个用于libpng的.pc文件的样例:

 
prefix=/usr/local
 exec_prefix=${prefix}
 libdir=${exec_prefix}/lib
 includedir=${exec_prefix}/include
  
 Name: libpng12
 Description: Loads and saves PNG files
 Version: 1.2.8
 Libs: -L${libdir} -lpng12 -lz
 Cflags: -I${includedir}/libpng12

这个文件告诉我们这些库可以在/usr/local/lib找到,头文件可以在/usr/local/include里找到,库的名字是libpng12并且版本号是1.2.8。它也提供了用于编译依赖于libpng的源代码时需要的链接器参数。

这儿是一个编译时使用pkg-config的样例:

相关

  • 热带沙漠气候热带干旱半干旱气候,其中热带干旱气候又称热带沙漠气候。分布于纬度30度附近的大陆西岸和中部,具体地区有:撒哈拉、非洲西南部、阿拉伯半岛、澳大利亚中部、美国西南部、墨西哥
  • 安提戈涅安提戈涅(古希腊语:Ἀντιγόνη),希腊神话中忒拜国王俄狄浦斯的女儿。悲剧作家索福克勒斯和欧里庇得斯都写过以安提戈涅为主角的剧作。安提戈涅是伊俄卡斯忒与其子俄狄浦斯
  • 中央研究院天文及天文物理研究所中华民国中央研究院天文及天文物理研究所(Institute of Astronomy and Astrophysics, Academia Sinica,缩写为 ASIAA)是中央研究院的其中一个研究单位,前身是中央研究院在南京时
  • 谢列姆贾河谢列姆贾河是俄罗斯的河流,位于阿穆尔州,属于结雅河的最大支流,河道全长647公里,流域面域68,600平方公里,河流在11月初至5月初结冰。
  • 熵 (信息论)在信息论中,熵(英语:entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。(熵最好理
  • 早坂犀中国犀早坂氏亚种(学名:),又名早坂犀牛、早坂中国犀、台湾犀牛,是已灭绝的独角犀属物种中国犀的亚种,其化石在台南左镇发现。早坂犀牛的发现,可追朔在1930年代当时台北帝国大学地质
  • 约翰逊·阿吉伊-伊龙西约翰逊·托马斯·乌穆纳奎·阿吉伊-伊龙西少将 (Major General Johnson Thomas Umunnakwe Aguiyi-Ironsi) (1924年3月2日-1966年7月29日) 尼日利亚军事将领。伊博族人。1966
  • 花神星族花神星族(英语:Flora family)是小行星主带中的一个很大的小行星族,光谱上属于S-型小行星,其起源和星族成员数量迄今仍不清楚,据估计主带中的4%-5%都属于这个星族。由于这个星族的
  • 卡勒·科利约宁卡勒·科利约宁(芬兰语:Kalle Koljonen,1994年2月26日-),芬兰男子羽毛球运动员。2014年4月,科利约宁出战克罗地亚羽毛球国际赛,在准决赛中以0比2 (15-21、14-21)不敌赛会头号种子、德
  • 金属射出成型金属射出成型(英语:Metal Injection Molding,缩写MIM)或称“粉末射出成型”(Powder Injection Molding)、“陶瓷射出成型”(Ceramic Injection Molding),乃结合塑胶射出成型、高分子