pkg-config的作用

有些时候你的工程会用到第三方库,比如你会用到一个叫libxxx库,,编译和安装后,你通常会在

/usr/local/lib

/usr/local/include/

目录下发现有xxx/目录,但是很多时候你在代码中引用libxxx库的头文件时,声明如下:

#include 
你的代码写好后,你编译时会出现:

fatal error: xxx.h: 没有那个文件或目录
亦或者是:

error: 对'xxx_read'未定义的引用
其中,xxx_read为libxxx库中的某一个函数。

这时候的解决方法可能是在编译器后面加上-I(注:大写的i)和-L,但是如果该库提供了一个libxxx.pc配置文件时,并且在

/usr/local/pkgconf/
目录下安装了这个libxxx.pc配置文件,这时你只需要使用如下命令:

cc file.c -o file `pkg-config --cflag --libs libxxx`

上面是一个抽象的命令,注意灵活使用。pkg-config就会在

/usr/local/pkgconf/
目录下面找到到libxxx.pc,文件,该文件内容类似:

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: xxx
Description: xxx library
Version: 1.0.0
Libs: -L${libdir} -lxxx
Cflags: -I${includedir}/xxx

可以参考一下博文:

pkg-config工具的使用


author: fulinux

E-mail: [email protected]

    blog: http://blog.csdn.net/fulinus

   code: https://git.oschina.net/fulinux






你可能感兴趣的:(linux技巧篇,linux函数篇)