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库 ...
随机推荐
- 使用 virt-install 命令创建虚拟机
实践 参考文档:官方手册 这个命令适用于创建第一个虚拟机,后面如果再增加,修改xml文件或者使用clone命令就可以了. centos.sh #!/bin/bash name='centos7' is ...
- 查看UUID
查看硬盘UUID: 1. ls -l /dev/disk/by-uuid 2. blkid /dev/sda5 修改硬盘UUID: 1.新建和改变分区的UUID sudo uuidgen | xarg ...
- django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported.
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing a ...
- Numpy,一篇足以
numpy 用于数值计算 ndarray, 一个有效的多维数组,能提供以数组为导向的快速数值计算和灵活的广播功能(broadcasting) 便利的数学函数 用于读取/写入(reading/writi ...
- sqlmap指定参数注入
在参数前面加星号
- 浏览器端模块化方式es module详解
在es module出现之前还有社区推出amd和cmd的规范,这两者还有其特定的编写方式,使用起来不算很方便.es module被官方推出来就成为了浏览器端实现模块化的一个很好的方案. 想要在浏览 ...
- ETL之apache hop数据增量同步功能
ETL增量数据抽取CDC 概念:Change Data Capture,变化的数据捕获,也称:[增量数据抽取](名词解释) CDC是一种实现数据的增量抽取解决方案,是实现[ETL整体解决方案]中的一项 ...
- xfs文件系统核心架构介绍
版权声明:本文为CSDN博主「瞧见风」的原创文章,遵循CC 4.0 BY-SA版权协议原文链接:https://blog.csdn.net/scaleqiao/article/details/5209 ...
- 【matplotlib基础】--子图
使用Matplotlib对分析结果可视化时,比较各类分析结果是常见的场景.在这类场景之下,将多个分析结果绘制在一张图上,可以帮助用户方便地组合和分析多个数据集,提高数据可视化的效率和准确性. 本篇介绍 ...
- SQL Server更改表字段顺序和表结构
1.首先打开SqlServer,SSMS可视化工具.点击工具,再点选项. 2.在弹出的选项窗口中,点击Desinners,点击表设计和数据库设计器,将阻止保护勾去掉.点"确定" 3 ...