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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章