pkg-config手册
定义
pkg-config是一款用于返回已安装库元信息的工具;
(语法)概要
pkg-config [--modversion] [--help] [--print-errors] [--silence-errors] [--cflags] [--libs] [--libs-only-L] [--libs-only-l] [--cflags-only-I] [--variable=VARIABLENAME] [--define-variable=VARIABLENAME=VARIABLEVALUE] [--uninstalled] [--exists] [--atleast-version=VERSION] [--exact-version=VERSION] [--max-version=VERSION] [LIBRARIES...]
说明
pkg-config用于检索系统中已安装库的信息;其典型应用场景是编译或链接一个或多个库(依赖检查),例如以下是Makefile中的使用场景:
program: program.c
cc program.c
'pkg-config --cflags --libs gnomeui'
pkg-config从特定配置文件中检索安装包信息,此类文件默认以.pc结尾,pkg-config在prefix/lib/pkgconfig目录下搜索,同时也会在PKG_CONFIG_PATH 环境变量指定的冒号分隔的路径列表中检索(Windows下是分号); 在pkg-config命令行指定的包名,对应去掉 .pc 扩展名后的元数据的配置文件名。如果一个库同时安装了多个版本,库名必须加版本号以便区分(例如GTK 1.2的包名可能是"gtk+"而 GTK 2.0是 "gtk+-2.0")。
命令行选项
--modversion
检索命令行指定库名版本信息,如果pkg-config能找到命令行中所有库,则将其版本号打印到标准输出,每个版本号一行,此时pkg-config成功退出。如果一个或多个库未找到,pkg-config返回非零错误码,标准输出内容为未定义。
--help
显示帮助信息并退出
--cflags
打印命令行指定的包编译时所需预处理和编译标识符,包括其他依赖所需标识符;标识符是被压缩的,以保证每个标识符只出现一次;如果命令行指定的一个或多个包元数据找不到,pkg-config返回非零错误码。
--libs
等同"--cflags",但是只打印链接标识符。和"--cflags"一样,重复的标识符被合并,第三方依赖所需标识符被打印到输出。
--libs-only-L
输出"--libs"的-L/-R部分.意思是其中定了依赖库的搜索路径,但不指定链接哪个库。
--libs-only-l
打印命令行指定库的"--libs"的-l部分。但是!"--libs-only-l" 和 "--libs-only-L"加起来可能比"--libs"涵盖内容少,因为例如-rdynamic上的差异.
Environment Variables
PKG_CONFIG_PATH
冒号分隔的.pc 文件检索路径列表。该路径检索完后默认路径也会被检索,默认路径是libdir/pkgconfig:datadir/pkgconfig。libdir是 pkg-config安装目录下的lib和data目录.
pkg-config手册的更多相关文章
- anaconda2下面安装opencv2.4.13.4完成----解决默认安装的问题----Thefunction is not implemented. Rebuild the library with Windows, GTK+ 2.x orCarbon support. If you are on Ubuntu or Debian, install libgtk2.0‑dev and pkg
转载自:http://blog.csdn.net/qingyanyichen/article/details/73550924 本人下载编译安装了opencv2.4.9,oppencv2.4.10,o ...
- [hyperscan][pkg-config] hyperscan 从0到1路线图
经过一系列的研究学习,知识储备之后,终于,可以开始研究hyperscan了. [knowledge][模式匹配] 字符匹配/模式匹配 正则表达式 自动机 [knowledge][perl][pcre] ...
- 《手把手教你构建自己的 Linux 系统》学习笔记(8)
目录 Binutils 软件包有什么用? make -k 的作用是什么? man-pages 里有几种文档?分别表示什么意思? 如何查询指定目录的 man-pages ? 如何使用 make 命令的同 ...
- 通过form表单的形式下载文件。
在项目中遇到问题,要求动态拼接uri下载文件.但是由于项目的安全拦截导致window.location.href 和 window.open等新建窗口的方法都不行. 无意间百度到了通过form表单来下 ...
- 【转】GCC使用简介
Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作品之一.gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一 ...
- GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名(转载)
转载自:http://www.cnblogs.com/cy163/archive/2009/03/12/1409434.html 1.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和 ...
- GCC 命令行具体解释
作者: www.linuxfans.org mozilla 1.gcc包括的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明确前面这半句是什么意 ...
- Msys+MinGW编译VLC
说明:本文只是对官方文档进行简单的翻译总结,旨在帮助一些英文不太好的朋友.官方文档请见wiki.videolan.org/Win32CompileMSYSNew. Msys是MinGW的一个辅助工 ...
- gcc编译器命令使用详解
1.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译 ...
- pkg-config命令的Makefile.am
举例:通过Makefile调用pkg-config命令. pkg-config - Return metainformation about installed libraries (为了使用lib库 ...
随机推荐
- Cloudflare 重定向配置
最近把之前的一个网站域名换成另一个域名,想要添加一下重定向,避免流量流失(虽然本来就没流量).然后在 Cloudflare 配置时尝试多次都失败了,遇到各种 Your connection is no ...
- 【go语言】2.1.1 变量,常量和数据类型
Go 语言中,变量是存储数据的基本单位,常量则是固定不变的数据.每个变量和常量都有其对应的数据类型. 变量 在 Go 语言中,你可以使用 var 关键字来声明一个变量: var name string ...
- 五 Android Capabilities讲解(转)
1.Capabilities介绍 可以看下之前代码里面设置的capabilities DesiredCapabilities capabilities = new DesiredCapabilitie ...
- 【干货】浅谈如何给.net程序加多层壳达到1+1>2的效果
软件破解分白盒和黑盒两种方式. 白盒破解:白盒破解是指对软件进行破解时,攻击者可以访问软件的内部结构和源代码.这种破解方式通常发生在软件的开发者.技术人员或软件公司内部.攻击者使用这些详细信息来理解软 ...
- croc-文件传输工具
前言 croc是一款用go语言开发的命令行文件传输工具,该工具允许两台计算机设备以一种简单和安全的方式来传输文件. GitHub项目地址 环境信息 IP 系统版本 croc版本 说明 192.168. ...
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 Docker 安装
知识图谱(Knowledge Graph)- Neo4j 5.10.0 Docker 安装 知识图谱(Knowledge Graph)- Neo4j 5.10.0 CentOS 安装 https:// ...
- 2、Spring之IOC概述
2.1.IOC思想 2.1.1.传统方式获取资源 组件主动地从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式: 提高了学习成本,同时也降低了开发的效率. 2. ...
- Linux下Python环境安装
Linux通常都附带Python环境,但是Linux附带的大多数Python都是2.7.5版本.如果我们想使用Python3或者Anaconda3,最好安装一个新的Python3环境,但不要尝试删除P ...
- 【后端面经-数据库】Redis数据结构和底层数据类型
目录 1. Redis数据类型 1.1 基本数据类型 1. string 2. hash 3. list 4. set 5. sortset/Zset 1.2 特殊数据类型 1. bitmap 2. ...
- ES 2023新特性速解
ES 2023新特性速解 一.新增数组方法 操作数组的方法 Array.prototype.toSorted(compareFn) //返回一个新数组,其中元素按升序排序,而不改变原始数组. Arra ...