linux c 查找使用库的cflags与libs的方法详解
很多时候,使用一些特别的库, 在编译可执行程序时, 需要添加额外的 CFLAGS 和 LIBS . 否则会提示找不到指定的头文件或者"undefined reference to ..." 的错误信息.
假如程序 test.c 中使用了 libxml 的 api, 直接
代码如下:
$ gcc -Wall -o test test.c
$ ls /usr/lib/pkgconfig/ | grep libxml
libxml-2.0.pc
$ cat /usr/lib/pkgconfig/libxml-2.0.pc
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
modules=1
Name: libXML
Version: 2.6.26
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2 -lz -lm
Cflags: -I${includedir}/libxml2
其中, Libs 和 Cflags 即是所需要的信息. 可以用如下命令得到
代码如下:
$ pkg-config libxml-2.0 --cflags --libs
-I/usr/include/libxml2 -lxml2 -lz -lm
$ gcc -Wall `pkg-config libxml-2.0 --cflags --libs` -o test test.c
相关推荐
-
Linux中find命令的用法入门
前言 Linux系统下的Find 命令具有很强大的搜索功能,可以遍历整个文件系统.所以 find 命令很耗资源,有时候甚至会耗费很长时间,因此建议把它放在后台执行. Find 命令格式如下所示: find pathname -options [-print -exec -ok -] 介绍一种简单易记的格式: find <指定目录> <指定条件> <指定动作> 动作参数 1.-exec 命令名称 {} \; 对符合条件的文件执行所给的 unix 命令,而不询问用户是否需要
-
Linux中文件查找方法大全
每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的Windows操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击"开始"-"搜索"中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档. 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情.毕竟在Linux中需要我们使
-
linux的一个find命令配合rm删除某天前的文件方法
语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -
-
Linux查找包含指定文字的文件(linux查找指定文件)
在Linux下,查找包含字符串的文件使用的命令是grep.如果要查找包含**的文件,使用grep ** file是不行的,因为grep认为**是正则表达式,结果不可预料.正确的做法是:grep '\*\*' file比如: 复制代码 代码如下: [root@qzw www.vktone.com]# grep '\*\*' *.html */*.html >filtered.txt[root@qzw www.vktone.com]#
-
linux使用find和crontab命令定期清理过期文件
crontab 命令 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具.它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本. crontab 的基本用法 crontab [-u <user>] [-e|-l|-r] crontab <filename> crontab <filename> 可以读入一个以 crontab 语法书写的文件,并依照文件内的指示执行定时任务.与此同时,crontab -l 能够在标准输出上列出当前用户所有的定时
-
Linux中文件查找技术大全
每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击"开始"-"搜索"中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档. 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情.毕竟在Linux中需要我们使
-
浅谈Linux下通过find命令进行rm文件删除的小技巧
我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,
-
简单的Linux查找后门思路和shell脚本分享
每个进程都会有一个PID,而每一个PID都会在/proc目录下有一个相应的目录,这是linux(当前内核2.6)系统的实现. 一般后门程序,在ps等进程查看工具里找不到,因为这些常用工具甚至系统库在系统被入侵之后基本上已经被动过手脚(网上流传着大量的rootkit.假如是内核级的木马,那么该方法就无效了).因为修改系统内核相对复杂(假如内核被修改过,或者是内核级的木马,就更难发现了),所以在/proc下,基本上还都可以找到木马的痕迹. 思路:在/proc中存在的进程ID,在 ps 中查看不到(被
-
linux find下如何统计一个目录下的文件个数以及代码总行数的命令
今天遇到如题所示问题,网上捣鼓半天,有收获 知道指定后缀名的文件总个数命令: find . -name "*.html" | wc -l 知道一个目录下代码总行数以及单个文件行数: find . -name "*.html" | xargs wc -l
-
Linux下如何使用grep命令查找带有tab(退格)的字符
需要在日志文件统计删除的主帖,而日志文件是tab(退格)字符隔开的:假设日志文件名叫delete.log. 保存格式和保存的数据如下, 删除日期 帖子类型(11为主帖,12为回帖) 帖子id 操作人id 2011-11-01 00:05 12 71163578 1153089 2011-11-01 00:19 11 71163800 134379 2011-11-01 00:19
随机推荐
- Angular实现跨域(搜索框的下拉列表)
- 怎样使用Cookie跟踪来访者?
- 自己动手实现jQuery Callbacks完整功能代码详解
- Maven本地jar引用的实现方法
- 深入浅出es6模板字符串
- AJAX如何接收JSON数据示例介绍
- php开发工具之vs2005图解
- destoon实现调用自增数字从1开始的方法
- Bootstrap 模态框(Modal)插件代码解析
- XSS 0DAY代码
- Android自定义SurfaceView实现画板功能
- 一个基于jquery的文本框记数器
- jQuery实现淡入淡出的模态框
- Jquery实现的简单轮播效果【附实例】
- 基于JQuery的Select选择框的华丽变身
- JavaScript中的原型和继承详解(图文)
- Caddy 一个用Go实现的Web Server
- PyQt5 在label显示的图片中绘制矩形的方法
- 35个最好用的Vue开源库(史上最全)
- android 使用浏览器打开指定页面的实现方法