歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux中的configure、pkg-config、pkg_config_path

Linux中的configure、pkg-config、pkg_config_path

日期:2017/3/1 17:15:21   编辑:關於Linux

Linux中的configure、pkg-config、pkg_config_path 提到這三個名詞我相信搞Linux的人一定不會陌生,重要性不言而喻,下面我就要總結下三者之間的關系。 configure一般都是一個腳本,執行時可以傳入必要的參數告知配置項目。一般的開源軟件,下載完源代碼,解壓後都會在解壓後目錄中找到configure文件,執行./configure文件就會生成Makefile文件,而configure腳本在檢查相應環境時會通過pkg-config的工具來檢測相應依賴環境。 pkg-config這一工具是用來檢索系統中安裝庫文件的信息。其主要功能如下: 1、檢查庫的版本號。如果所需要的庫的版本不滿足要求,它會打印出錯誤信息 ,避免鏈接錯誤版本的庫文件。
2、獲得編譯預處理參數,如宏定義,頭文件的位置。 3、獲得鏈接參數,如庫及依賴的其它庫的位置,文件名及其它一些連接參數。 4、自動加入所依賴的其它庫的設置。 由於使用pkg-config工具來獲得庫的選項,所以不論庫安裝在什麼目錄下,都可以使用相同的編譯和連接命令,帶來了編譯和連接界面的統一。但使用pkg-config工具提取庫的編譯和連接參數有兩個基本的前提: 1、庫本身在安裝的時候必須提供一個相應的.pc文件,如果沒有.pc文件的軟件則一般是不支持pkg-config工具的使用的。 www.2cto.com 2、pkg-config必須知道要到哪裡去尋找此.pc文件 pkg_config_path:環境變量PKG_CONFIG_PATH是用來設置.pc文件的搜索路徑的,pkg-config按照設置路徑的先後順序進行搜索,直到找到指定的.pc 文件為止。這樣,庫的頭文件的搜索路徑的設置實際上就變成了對.pc文件搜索路徑的設置。 下面就針對一個具體的情況來說明問題:在很多人編譯GTK程序時都會出現說gtk.h文件找不到,之所以會出現這種問題就歸咎於環境變量沒有配置,我們通過上面的敘述,首先我們要做的就是找到其對應的.pc文件,在終端中輸入pkg-config --modversion gtk+-2.0,提示找不到xproto.pc文件,需要把包含該文件的目錄放到PKG_CONFIG_PATH裡,搜索了一下,該文件在/usr/share/pkgconfig下,那麼我們就改環境變量喽:export PKG_CONFIG=/usr/local/bin/pkg-config export PKG_CONFIG_PATH=/usr/share/pkgconfig:/usr/lib/pkgconfig,好了,這樣一切都OK了, 在我們編譯對應程序時,輸入的命令為gcc Demo.c -o Demo `pkg-config --cflags --libs --gtk+-2.0` 作者 驿落黃昏
Copyright © Linux教程網 All Rights Reserved