pkg-config的作用

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

  1. /usr/local/lib  

  1. /usr/local/include/  

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

  1. #include <xxx.h>  
你的代码写好后,你编译时会出现:
  1. fatal error: xxx.h: 没有那个文件或目录  
亦或者是:
  1. error: 对'xxx_read'未定义的引用  
其中,xxx_read为libxxx库中的某一个函数。

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

  1. /usr/local/pkgconf/  
目录下安装了这个libxxx.pc配置文件,这时你只需要使用如下命令:
  1. cc file.c -o file `pkg-config --cflag --libs libxxx`  

上面是一个抽象的命令,注意灵活使用。pkg-config就会在
  1. /usr/local/pkgconf/  
目录下面找到到libxxx.pc,文件,该文件内容类似:
  1. prefix=/usr/local  
  2. exec_prefix=${prefix}  
  3. libdir=${exec_prefix}/lib  
  4. includedir=${prefix}/include  
  5.   
  6. Name: xxx  
  7. Description: xxx library  
  8. Version: 1.0.0  
  9. Libs: -L${libdir} -lxxx  
  10. Cflags: -I${includedir}/xxx  

可以参考一下博文:

pkg-config工具的使用


author: fulinux

E-mail: [email protected]

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

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

猜你喜欢

转载自blog.csdn.net/NB_vol_1/article/details/78327602
今日推荐