pkg-config
此條目沒有列出任何參考或來源。 (2023年7月10日) |
pkg-config 是一個在原始碼編譯時查詢已安裝的函式庫的使用介面的電腦工具軟件。pkg-config 原本是設計用於 Linux 的,但現在在各個版本的 BSD、windows、Mac OS X 和 Solaris 上都有着可用的版本。
它輸出已安裝的函式庫的相關資訊,包括:
工作原理
當安裝一個函式庫時(例如從 RPM,deb 或其他二進制包管理系統),會包括一個字尾名為 pc
的檔案,該檔案會被放入某個資料夾下(取決於你的系統設置)。例如,在 Linux 為該軟件的函式庫檔案所在資料夾 lib
之下的子資料夾 pkgconfig
。並把該子資料夾加入 pkg-config 的環境變數 PKG_CONFIG_PATH
作為搜尋路徑,例如在 bash 設定檔中加入一行:
export PKG_CONFIG_PATH=/usr/local/`库的名字`/lib/pkgconfig:$PKG_CONFIG_PATH
在這個 .pc
檔案里包含有數個條目。這些條目通常包含用於其他使用這個函式庫的程式編譯時需要的函式庫設置,以及標頭檔的位置,版本資訊和一個簡介。
這是一個用於 libpng 的 .pc
檔案的樣例:
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${exec_prefix}/include
Name: libpng
Description: Loads and saves PNG files
Version: 1.2.8
Libs: -L${libdir} -lpng12 -lz
Cflags: -I${includedir}/libpng12
這個檔案告訴我們這些函式庫可以在 /usr/local/lib
找到,標頭檔可以在 /usr/local/include
里找到,函式庫的名字是 libpng12 並且版本號是 1.2.8。它也提供了用於編譯依賴於 libpng 的原始碼時需要的連結器參數。
這是一個編譯時使用 pkg-config 的樣例:
gcc -o test test.c $(pkg-config --libs --cflags libpng)
這是一篇與Linux相關的小作品。您可以透過編輯或修訂擴充其內容。 |