pkg-config工具在实际工程中的用法
在如今这个开源的环境里,想要开发某个功能,我们都会下意识的上网搜索有没有开源库,如果有开源库,那么好,下载下来给它编译好,使用。但是在使用过程中,你是否遇到不知如何将第三方库编译,链接到自己的工程中?怎么改makefile就是改不好?是否看到开源库lib/中pkgconfig文件夹,想都没想这是干什么用的,打开.pc文件也不知所云?那么好,今天我就总结下开源库中pkgconfig文件夹中.pc文件的作用,以及如何用pkg-config工具将开源库集成到自己的工程中去。
![](/assets/blank.gif)
*.pc
文件,pkg-config程序通过读取这个*.pc
的文件,获取了库的头文件位置和库的路径等信息,然后告知编译器,实现库的自动使用。一般来说,*.pc
文件的大体内容如下格式(以笔者最近使用的SQLite3为例):
![](/assets/blank.gif)
其中,
prefix
一般是指定库的默认安装路径exec_prefix
一般是指库的另外指定的安装路径inludedir
指定库的头文件路径libdir
指定库的lib文件的路径Name
指定库的名称,比如笔者使用的SQLite数据库Description
表示库的描述Version
是版本号Cflags
是gcc链接头文件的指令,以-I
紧接头文件路径设置Libs
是gcc链接lib文件的指令, 是-L
紧接lib文件路径,-l
紧接所使用的lib的名字。
pkg-config工具在实际工程中的用法相关推荐
- linux双机脚本pkg如何生效,linux里命令pkg config工具的使用
一.编译和连接 一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径.由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安 ...
- HarmonyOS之在工程中导入Sample工程和添加Module
一.导入 Sample 工程 ① Sample 说明 DevEco Studio 支持 HarmonyOS Sample 工程的导入功能,通过对接 Gitee 开源社区中的 Sample 资源,可一键 ...
- Instagram个性化推荐工程中三个关键技术是什么?
作者 | Ivan Medvedev,Haotian Wu,Taylor Gordon 译者 | 陆离 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导语]近期,Face ...
- phonegap工程中修改app的名字
针对phonegap比较高的版本,我的是6.4.0. 在phonegap工程中,当添加了iOS和android平台或多个平台后,工程进行了开发,然后觉得app的名字想修改一下(比如在手机上显示的app ...
- 机器学习-特征工程中的特征降维
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...
- 机器学习-特征工程中的特征选择
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...
- matlab计算海洋浮力频率_水下机器人在海洋石油工程中的应用
世界海洋总面积约为3.6×108平方千米,占地球总面积的70.8%,在广阔的海洋中,蕴含着非常丰富的生物资源.矿物资源和海洋能源.其中最具经济开采价值的是海底的石油和天然气资源,海洋石油资源储量占世界 ...
- 使计算机工作必不可缺的软件,探讨测绘工程中计算机制图的运用问题(原稿)
1.样,对图纸审核工作的开展十分不利.利用CAD软件可以使图形标准工作更加方便地开展,另外还可以在非常多的地共享时也会由于这部分问题导致出现问题,进而增加工作量.探讨测绘工程中计算机制图的运用问题(原 ...
- 开发工程中遇到的BUG
Xcode7自带Git创建的项目"Couldn't communicate with a helper application" git xcode7 zhunjiee 2015年 ...
最新文章
- DNS--3--Master DNS架设
- 你用过这种奇葩的C#注释吗?如何看待
- advanced installer重新打包教程
- 全屏显示的包含webview的页面中弹出的软键盘覆盖输入框的问题
- RocketMQ消息重试机制
- 令人难忘的初吻描写......
- 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库
- C语言在linux终端下实现2048小游戏:第二版
- cout不明确什么意思_王源吸烟粉丝说不袒护,让他谨慎交友是什么意思?
- 设置橘子浏览器的newtab页面
- hdu 4717 The Moving Points(三分)
- 【存档】20个正则表达式
- WWDC2019最值得看的十个视频
- “互联网+”服务产业现状和个人信息保护特征分析
- 动作捕捉用于蛇运动分析及蛇形机器人开发
- python程序员真实收入曝光_行!看到抖音上Python程序员晒得工资条,我沉默了.........
- 学术研究入门,如何下载论文?
- 关于英伟达jetson nano的搭配双目摄像头跑ORB_SLAM2
- java正则包含特殊字符_java – 捕获由特殊字符嵌套/包含的正则表达式组
- UE4 Socket多线程非阻塞通信【2】
热门文章
- python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...
- 数字图像处理:blob分析、阈值分割
- 【机器视觉案例】(13) 脸部和摄像机间的距离测量,自适应文本大小,附python完整代码
- 【机器学习入门】(7) 线性回归算法:原理、公式推导、损失函数、似然函数、梯度下降
- 【禅模式】如何进入极度专注的心流状态,让前端开发能力发挥到最大?设置VSCode禅模式快捷键Alt+F切换全屏,适合演示代码使用
- Vue项目中使用wangEditor富文本输入框(推荐)
- coreseek最大检索数只有1000的问题!
- vim学习笔记(三)
- C语言的单链表逆序和指定范围逆序
- linux命令 iperf-网络性能测试工具