2017-02-10 55 views
0

當我執行命令pkg-config目標在哪裏定義?

pkg-config --variable pc_path pkg-config 

輸出是

的/ usr/lib64下/ pkgconfig:在/ usr /共享/ pkgconfig

然而,存在兩個其他pkgconfig目錄在我的系統上:/usr/lib/pkgconfig/usr/local/lib/pkgconfig

如果我嘗試

echo $PKG_CONFIG_PATH 

結果是

未定義可變

我也試圖

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 

但反應是

export:找不到命令。

現在,我已經在多個場合的Gstreamer建成,它將把 元數據文件(GStreamer的-1.0.pc)到另一個文件夾pkgconfig(USR/local/lib目錄/ pkgconfig)。 (我已經能夠通過修改配置文件來解決這個問題,在libdir定義中將lib更改爲lib64)。但是我寧願理解我的系統,而不是嘗試解決方法。

所以有兩個問題:pkg-config程序在哪裏獲取目標目錄?

爲什麼以及如何將元數據文件放入pkg-config程序沒有明確指出的目錄中?

+0

感謝@Grisha萊維特編輯我提出的問題不好。雖然我很欣賞爲我提供解決方案的努力,但這兩個答案都沒有真正回答我的兩個問題。 – jackson80

回答

0

由於命令是不工作,因爲該變量不存在 首先檢查變量是否有或沒有用於執行此操作的 執行命令 ENV 根@本地:/等/公寓#ENV 如果路徑是在ENV 不申報則像做

根@本地:在/ etc /公寓#PKG_CONFIG_PATH =在/ usr/local/lib目錄/ pkgconfig 根@本地:在/ etc /公寓#出口PKG_CONFIG_PATH 根@本地:/ etc/apt#echo $ PKG_CONFIG_PATH /usr/local/lib/pkgconfig root @ localhost:/ et C /易#ENV

希望這會爲你工作 任何進一步的幫助,請與錯誤

+0

我發現我的命令導出沒有工作,因爲我使用tsch。如果我切換到bash,我可以使用導出。 – jackson80

0

發佈查詢,當您安裝一個foo軟件包,foo軟件包有被安裝在一個適當的foo.pc默認的pkgconfig目錄。如果一個軟件包將* .pc文件放在自定義位置,那麼您應該相應地設置您的PKG_CONFIG_PATH。因此,pkg-config不僅會查看默認目錄,還會查看您在PKG_CONFIG_PATH中指定的自定義路徑。該指南解釋得好:

pkg-config guide