pkg-config

✍ dations ◷ 2024-12-27 12:03:24 #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的样例:

相关

  • 无为而治道家系列条目无为指经过有为的思考,以时势、趋势的判断做出顺势而为的行为,即顺应自然的变化规律,使事物保持其天然的本性而不人为做作,从而达到“无为而无不为”的境界。是中国
  • 1214年
  • 扬州市扬州市(江淮官话扬州话:/iaŋ ʦɤɯ/),简称扬,古称江都、广陵,是中华人民共和国江苏省下辖的地级市,位于江苏省中部,长江北岸。市境北界淮安市,东北接盐城市,东达泰州市,南邻镇江市,西
  • 太医院太医院,中国古代官署名。秦汉以后设太医令,为掌管医疗;隋唐设太医署;宋代设翰林医官院、元丰改制为医官局,设和安大夫、成和大夫、翰林医官;辽国北面官设太医局,南面官设提举翰林医
  • 变形甲藻目变形甲藻目(Dinamoebidiales) 为藻类植物之一植物目。该植物于植物分类表上,归于甲藻门 (Pyrrophyta)横裂甲藻纲(Dinophyceae),同纲者尚有多甲藻目(Peridi-niales)等等。
  • 巡弋悍将《巡弋捍将》(Passenger 57)是一部在1992年上映的美国动作片,由凯文·胡克斯执导,卫斯里·史奈普、布鲁斯·佩恩、汤姆·塞兹摩尔、伊丽莎白·赫莉等人主演。此片是卫斯里·史奈
  • 萧提国际指挥大赛萧提国际指挥大赛(Sir Georg Solti International Conductors' Competition),是为纪念已故匈牙利指挥大师乔治·萧提的一项竞赛,于2002年创立,每两年举办一次。这一大赛由法兰克
  • 邵鼎曾邵鼎曾,浙江人,是一名清朝政治人物。邵鼎曾曾于1853年接替章惠代理南汇县知县一职,同年年由富克精阿接任。
  • 文字皴文字皴是当代表现艺术中新诞生出来的一种技法、一种语言、一种形式。它以中国画皴法为本,根据所绘题材的不同,可以分为文字皴山水、文字皴花鸟、文字皴人物等等。文字皴的主要
  • 洪淑贞洪淑贞(闽南语:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}Âng S