pkg-config

✍ dations ◷ 2025-08-29 06:27:09 #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的样例:

相关

  • 臼齿大臼齿,简称臼齿,俗称磨牙(客语:撞牙),是人类和其它哺乳动物的一种牙齿。大臼齿位于口腔后方,因上端扁平而且主要用来研磨和咀嚼食物而得名。臼齿由于随使用而被磨损,可以被用来判定
  • 相公相公可以指:
  • 风暴英雄《风暴英雄》(英语:Heroes of the Storm,港台译作“暴雪英霸”)是一款由暴雪娱乐开发并将发布在Windows和Mac OS平台上的多人在线竞技类游戏。游戏中玩家所扮演的英雄角色大部分
  • 百乐宫酒店百乐宫酒店(Bellagio)是位于美国内华达州天堂市赌城大道上的一间赌场酒店,由美高梅集团持有及营运。酒店设计的灵感取材自意大利贝拉焦的科木湖渡假村,以其优雅和舒适的环境为卖
  • 李希烈李希烈(?-786年5月9日),唐代燕州辽西人。唐德宗时为淮西节度使,是李忠臣的族侄,后叛唐自立,杀害来劝降的颜真卿,自己最终被部将毒杀。德宗建中二年(781年),李希烈奉诏讨伐成德节度使李宝
  • 德里克·沃尔科特德里克·沃尔科特爵士,KCSL,OBE,OCC(英语:Sir Derek Walcott,1930年1月23日-2017年3月17日),圣卢西亚诗人,1992年诺贝尔文学奖获得者。沃尔科特于2017年3月17日在圣卢西亚Cap Estate的
  • 诗琳通公主诗文画集《诗琳通公主诗文画集》是生活·读书·新知三联书店于1993年12月出版的诗集,收录泰国诗琳通公主的诗作10首、文章18篇和插画41幅。1994年1月6日,《诗琳通公主诗文画集》于北京
  • 常德公寓常德公寓,原称爱林登公寓(英语:Eddington House),位于上海市常德路195号,靠近南京西路与愚园路,是一座建造于1936年,高8层的装饰艺术派风格公寓。其原来是意大利人拉乌尔·斐斯的房
  • F·保罗·威尔逊弗朗西斯·保罗·威尔逊(Francis Paul Wilson;1946年5月17日-)是一名美国科幻、恐怖小说家。他是洛夫克拉夫特的粉丝,作品一定程度上受洛夫克拉夫特的影响。他笔下最著名的角色是
  • 啄木鸟真纪啄木鸟 真纪(啄木鸟 しんき,1973年7月29日-),日本女性漫画家。和歌山县出身。血型AB型。代表作是《金发传说》。