pkg-config

✍ dations ◷ 2025-05-19 14:16:33 #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的样例:

相关

  • 雕版雕版(英语:Engraving)指的是通过刻出一道道凹痕,将设计雕刻到一张硬板上的过程,通常被雕刻的板材是扁平的。雕刻出来的东西可用作凹版印刷,本身也可以用来作艺术品装饰。
  • 历史主义一些人认为必须研究与解释人类历史发展,基于这些解释才能认真了解社会与政治。这样的见解被卡尔·波普尔称为历史主义。在这里,“人类历史”一词与“人类发展”或“人类发展史
  • 第一次世界大战各国伤亡统计第一次世界大战中的士兵和平民伤亡超过3500万。其中大约1500万死亡,2000万受伤。整个死亡人数包括1000万士兵和700万平民。同盟国大约有600万士兵死亡,协约国大约有400万士兵
  • 蛛网理论蛛网理论(英语:cobweb theory)是一种动态的均衡变动模型,用来解释生产期比较长的产品之均衡点,随时间变动的情形。所谓“生产期”,就是说从厂商获知市场状况而决定改变产量,到它产
  • 通古斯民族通古斯民族(俄语:Тунгус, Tungus),指居住在满洲(远东)到西伯利亚的东北亚地区,所有使用满-通古斯语族的民族。通古斯该词来源于“Donki”,在通古斯语中意为“男人”。 有些学
  • 青叶台 (目黑区)青叶台(日语:青葉台/あおばだい  */?)是东京都目黑区的地名。现行行政地名为青叶台一丁目至青叶台四丁目。2013年(平成25年)7月1日为止的人口有8,066人。邮递区号为153-0042。位
  • 杜清杜清(台湾话:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}Tō͘ Ch
  • 高分辨率影音网络协会高分辨率影音网络协会(High Definition Audio-Video Network Alliance)是一个由媒体业界领导公司组成的组织,用以制定稳固的高清影音网络的工业设计指标。该协会于2005年10月由
  • 尼亚加拉,尼亚加拉《尼亚加拉,尼亚加拉》(英语:)是一部于1997年上映的电影。该片于鲍伯·高斯(英语:Bob Gosse)执导,并由罗宾·东尼、亨利·托马斯、迈克尔·帕克斯(英语:Michael Parks)、斯蒂芬·朗和约
  • 布衣神相 (电影)《布衣神相》(英语:),又名《天蚕再变》或《天蚕变之布衣神相》,是1984年鲁俊谷执导之电影,改编自黄鹰《天蚕变》及温瑞安《布衣神相》两部武侠名著。前作为1983年电影《天蚕变》。