手机
当前位置:查字典教程网 >编程开发 >C语言 >linux c 查找使用库的cflags与libs的方法详解
linux c 查找使用库的cflags与libs的方法详解
摘要:很多时候,使用一些特别的库,在编译可执行程序时,需要添加额外的CFLAGS和LIBS.否则会提示找不到指定的头文件或者"undefinedr...

很多时候,使用一些特别的库, 在编译可执行程序时, 需要添加额外的 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 c 查找使用库的cflags与libs的方法详解】相关文章:

C++中用两个标准容器stack,实现一个队列的方法详解

C++中指向对象的常指针与指向常对象的指针详解

ubuntu中打开终端的三种解决方法

深入线性时间复杂度求数组中第K大数的方法详解

深入探讨Linux静态库与动态库的详解(一看就懂)

深入Linux grep指令的详解(实用型)

使用C# 判断给定大数是否为质数的详解

如何编译libfreetype方法详解

求素数,用vector存储的实现方法

深入HRESULT与Windows Error Codes的区别详解

精品推荐
分类导航