1. <th id="allbo"><track id="allbo"></track></th>

      <tbody id="allbo"></tbody>
      首頁 > 系統 > Linux > 正文

      Linux系統pkg-config、pkg_config_path的用法詳解

      2020-10-14 22:40:14
      字體:
      來源:轉載
      供稿:網友

        configure一般都是一個腳本,執行時可以傳入必要的參數告知配置項目。一般的開源軟件,下載完源代碼,解壓后都會在解壓后目錄中找到configure文件,執行。/configure文件就會生成Makefile文件,而configure腳本在檢查相應環境時會通過pkg-config的工具來檢測相應依賴環境。

        pkg-config這一工具是用來檢索系統中安裝庫文件的信息。其主要功能如下:

        1、檢查庫的版本號。如果所需要的庫的版本不滿足要求,它會打印出錯誤信息

        ,避免鏈接錯誤版本的庫文件。

        2、獲得編譯預處理參數,如宏定義,頭文件的位置。

        3、獲得鏈接參數,如庫及依賴的其它庫的位置,文件名及其它一些連接參數。

        4、自動加入所依賴的其它庫的設置。

        由于使用pkg-config工具來獲得庫的選項,所以不論庫安裝在什么目錄下,都可以使用相同的編譯和連接命令,帶來了編譯和連接界面的統一。但使用pkg-config工具提取庫的編譯和連接參數有兩個基本的前提:

        1、庫本身在安裝的時候必須提供一個相應的。pc文件,如果沒有。pc文件的軟件則一般是不支持pkg-config工具的使用的。

        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`


      (責任編輯:VEVB)

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      色五月色开心婷婷色丁香