pkg config的學習之路

2021-09-16 13:26:15 字數 1238 閱讀 7467

pkg-config是編譯應用程式和庫時使用的輔助工具。它可以幫助我們在命令列中插入正確的編譯器選項,以便應用程式可以使用諸如gcc -o test test.c `pkg-config --libs --cflags glibc-2.29`的命令,其中–cflags和–libs分別指定cflags引數和庫檔案。這樣我們就不必通過硬編碼來找到glib(或其他庫)。它與語言無關,因此可用於定義文件的位置。

那麼pc-config是從哪兒知道這些資訊的呢?它是從名為***.pc這個檔案中查詢到的。上面的例子中,它是從glibc-2.29.pc檔案中查知的。

那pkg-config 又怎麼會知道opencv.pc這個檔案呢?

設定環境變數pkg_config_path的方法為:

export pkg_config_path=/your/pathname:$pkg_config_path
如果想要讓該環境變數永久生效,可以在/etc/profile檔案中新增上面的語句,然後執行source /etc/profile讓其立即生效。

這裡通過乙個示例講解一下如何編寫pc檔案。pc檔案只需5個內容:name、description、version、cflags、libs。當然,為了書寫方便,我們一般還會加入一些變數。

在/usr/lib/pkgconfig中新增檔案glibc-2.29.pc,並加入以下內容:

prefix=/usr/local/glibc-2.29

exec_prefix=$

libdir=$/lib

includedir=$/include

name: glibc

description: c utility library

version: 2.29

libs: -l$ -lm

cflags: -i$

在命令列中執行pkg-config --libs --cflags glibc-2.29,我們會得到

-i/usr/local/glibc-2.29/include -l/usr/local/glibc-2.29/lib -lm
可見,pkg-config只是對gcc的一些引數進行封裝而已

pkg_check_modules([mystuff],[gtk + -2.0> = 1.3.5 libxml = 1.8.4])

pkg config 學習筆記

術語對照表 引數 option 選項 flag 在編譯和鏈結時,提供必要的庫檔案細節。元資料儲存在 pkg config 檔案裡面,檔案字尾.pc,檔案需要存放在 pkg config 工具能夠找到的特定位置。prefix usr local exec prefix includedir inclu...

pkg config的簡單應用

pkg config的簡單用法 在linux下面編譯 鏈結程式一般會用到pkg config這個命令,那麼它究竟是幹什麼的呢?pkg config是乙個返回我們已經安裝庫的資訊的工具,比如庫的標頭檔案在 鏈結它又需要到 等等資訊。其語法如下 pkg config options library 最常...

關於pkg config的使用示例

1.gcc命令列裡的使用 gcc g main.c o main pkg config gl glu glut cflags libs 2.在configure.ac中的使用 pkg config path usr local 設定pkg config的檢索路徑 pkg check modules ...