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中文件查找方法大全
每一种操作系统都是由成千上万个不同种类的文件所组成的.其中有系统本身自带的文件,用户自己的文件,还有共享文件等等.我们有时候经常忘记某份文件放在硬盘中的哪个地方.在微软的Windows操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击"开始"-"搜索"中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档. 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情.毕竟在Linux中需要我们使
-
linux find下如何统计一个目录下的文件个数以及代码总行数的命令
今天遇到如题所示问题,网上捣鼓半天,有收获 知道指定后缀名的文件总个数命令: find . -name "*.html" | wc -l 知道一个目录下代码总行数以及单个文件行数: find . -name "*.html" | xargs wc -l
-
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使用find和crontab命令定期清理过期文件
crontab 命令 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具.它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本. crontab 的基本用法 crontab [-u <user>] [-e|-l|-r] crontab <filename> crontab <filename> 可以读入一个以 crontab 语法书写的文件,并依照文件内的指示执行定时任务.与此同时,crontab -l 能够在标准输出上列出当前用户所有的定时
-
Linux中find命令的用法入门
前言 Linux系统下的Find 命令具有很强大的搜索功能,可以遍历整个文件系统.所以 find 命令很耗资源,有时候甚至会耗费很长时间,因此建议把它放在后台执行. Find 命令格式如下所示: find pathname -options [-print -exec -ok -] 介绍一种简单易记的格式: find <指定目录> <指定条件> <指定动作> 动作参数 1.-exec 命令名称 {} \; 对符合条件的文件执行所给的 unix 命令,而不询问用户是否需要
-
简单的Linux查找后门思路和shell脚本分享
每个进程都会有一个PID,而每一个PID都会在/proc目录下有一个相应的目录,这是linux(当前内核2.6)系统的实现. 一般后门程序,在ps等进程查看工具里找不到,因为这些常用工具甚至系统库在系统被入侵之后基本上已经被动过手脚(网上流传着大量的rootkit.假如是内核级的木马,那么该方法就无效了).因为修改系统内核相对复杂(假如内核被修改过,或者是内核级的木马,就更难发现了),所以在/proc下,基本上还都可以找到木马的痕迹. 思路:在/proc中存在的进程ID,在 ps 中查看不到(被
-
浅谈Linux下通过find命令进行rm文件删除的小技巧
我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,
-
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下如何使用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
随机推荐
- jQuery实现AJAX定时刷新局部页面实例
- Angular2里获取(input file)上传文件的内容的方法
- 开通虚拟主机时提示Server.CreateObject失败的解决办法
- 从市场的角度思考网站建设
- java网上图书商城(1)User模块
- VirtualBox虚拟机安装CentOS 7详细教程
- Yii2中简单的场景使用介绍
- Redhat 7/CentOS 7 SSH 免密登录的方法
- C++事件处理中__event与__raise关键字的用法讲解
- 如何修改mysql数据库的max_allowed_packet参数
- 基于Node的React图片上传组件实现实例代码
- typecho插件编写教程(四):插件挂载
- 实现MySQL定时批量检查表repair和优化表optimize table的shell脚本
- jquery ajax 登录验证实现代码
- Jmeter3.0发布!版本更新到底更新了什么
- 简述Java中进程与线程的关系_动力节点Java学院整理
- Chkntfs 显示或指定在启动计算机时计划的自动系统检查是否在 FAT、FAT32 或者 NTFS 卷上运行。
- win2003 iis6 Rewrite权限设置问题 解决了 大家共享 2003NTFS用户 你不看肯定开不开
- Android判断用户2G/3G/4G移动数据网络
- 查询翻页优化第1/2页