标签:pkg-config
有些时候你的工程会用到第三方库,比如你会用到一个叫libxxx库,,编译和安装后,你通常会在
/usr/local/lib
和
/usr/local/include/
目录下发现有xxx/目录,但是很多时候你在代码中引用libxxx库的头文件时,声明如下:
#include <xxx.h>你的代码写好后,你编译时会出现:
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`
/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
author: fulinux
E-mail: fulinux@sina.com
blog: http://blog.csdn.net/fulinus
code: https://git.oschina.net/fulinux
标签:pkg-config
原文地址:http://blog.csdn.net/fulinus/article/details/39269331