zl程序教程

您现在的位置是:首页 >  后端

当前栏目

linuxc查找使用库的cflags与libs的方法详解

方法 使用 详解 查找 linuxc libs
2023-06-13 09:15:00 时间
很多时候,使用一些特别的库,在编译可执行程序时,需要添加额外的CFLAGS和LIBS.否则会提示找不到指定的头文件或者"undefinedreferenceto..."的错误信息.
假如程序test.c中使用了libxml的api,直接
复制代码代码如下:

$gcc-Wall-otesttest.c

会提示错误消息. 
执行
复制代码代码如下:

$ls/usr/lib/pkgconfig/|greplibxml
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:libXMLlibraryversion2.
Requires:
Libs:-L${libdir}-lxml2 -lz -lm
Cflags:-I${includedir}/libxml2

其中,Libs和Cflags即是所需要的信息.可以用如下命令得到
复制代码代码如下:
$pkg-configlibxml-2.0--cflags--libs
-I/usr/include/libxml2 -lxml2-lz-lm

因此,在编译时,只需要执行
复制代码代码如下:
$gcc-Wall`pkg-configlibxml-2.0--cflags--libs`-otesttest.c