pkg-config 用法简介
来源:互联网 发布:大嘴视频软件 编辑:程序博客网 时间:2024/06/06 01:34
pkg-config 用法简介
当我们写代码时,经常会调用第三方的库。这些第三方的库的安装路径在每台电脑上可能都会不同。所以如果我们把这些库的路径写死,那么别人拿到我们的代码编译时就会遇到各种问题。为了解决这个问题,就有了 pkg-config。这里要多说一句 pkg-config 是个 linux 下的工具,在 windows 下虽然也能用,但是用的人很少。
简单的说 pkg-config 维护了一个保存各个代码库的路径的数据库。当然这个”数据库” 非常的简单,其实就是一个特殊的目录,这个目录中有一系列的以 “.pc” 为后缀的文件。
比如我的电脑里安装了 MSYS2。 在 msys2 上安装了 mingw64 的 pkg-config。 那么这些 “.pc” 文件就都在 “msys64\mingw64\lib\pkgconfig” 这个目录下。
我们可以打开一个 “.pc” 文件来看看。比如 lib.pc 文件。
prefix=/mingw64exec_prefix=${prefix}libdir=${exec_prefix}/libsharedlibdir=${exec_prefix}/binincludedir=${prefix}/includeName: zlibDescription: zlib compression libraryVersion: 1.2.11Requires:Libs: -L${libdir} -lzCflags: -I${includedir}
内容很简单,最后两行是关键信息,告诉我们应该如何包含这个库。
我们应该如何使用这个 pkg-config 呢。
pkg-config 有两个最常用的命令行选项,分别是 “–libs” 和 “–cflags” ,我们可以分别执行一下。
$ pkg-config.exe --cflags zlib-ID:/msys64/mingw64/include$ pkg-config.exe --libs zlib-LD:/msys64/mingw64/lib -lz
看到这里,如何使用 pkg-config 就一目了然了。比如下面的命令行,其中 pkg-config --cflags --libs zlib
自动被替换为 “-ID:/msys64/mingw64/include -LD:/msys64/mingw64/lib -lz
”。
$gcc main.c `pkg-config --cflags --libs zlib` -o main
当然通常我们会将 pkg-config 放到 makefile 中。如果使用 qt,可以在 pro 文件中这样写:
CONFIG += link_pkgconfigPKGCONFIG += zlib
- pkg-config 用法简介
- pkg-config简介
- pkg-config简介
- pkg-config用法
- pkg-config用法总结
- pkg-config的用法
- pkg-config 用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- pkg-config用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- pkg-config的用法
- LeetCode two sum
- 一个旋转物体的脚本
- C#获取oracle中某个用户的所有表
- centos7 安装jdk
- Intent的初体验
- pkg-config 用法简介
- Caffe——python接口学习:生成deploy文件
- 解决UC浏览器、微信浏览器使用display:flex;的兼容性问题
- 数值数据编码
- leetcode001
- 二分查找之美:二分查找及其变体的正确性以及构造方式
- 【MyBatis】MyBatis Generator插件自动生成文件,generatorConfig.xml配置详解
- 今天聊聊闲话,付出还是有回报的,我帮过的朋友8台电脑帮我齐挖Zcash(ZEC)
- SpringBoot、JPA及MVC的学习