Software-Installation

<libraryname>.pc 在哪裡?

  • December 19, 2014
  1. 使用configure,make和安裝庫時make install,是否會make install復製&lt;libraryname&gt;.pc到某個地方?
  • 如果是:它在哪裡?
  • 如果不是:我們是否應該將其複製到某個地方而不是將它們留在原處?
  1. 我之所以這麼問,是因為在我的舊筆記本上,我看到:

將包含的目錄添加到 PKG_CONFIG_PATH 環境變數中,libraryname.pc以便可以找到它們。pkg-config --clags libraryname``pkg-config --libs libraryname

  1. dpkg -l是否能夠根據是否添加了路徑來跟踪已安裝的PKG_CONFIG_PATH庫?
  2. 一旦我複製&lt;libraryname&gt;.pc到某個地方,將dpkg -l能夠跟踪已安裝的軟體包嗎?

一般來說,./configure && make && make install沒有任何參數的情況下,所有內容都在 下/usr/local,這將放置foo.pc/usr/local/lib/pkgconfig/foo.pc

要使用它,您需要執行 basic PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags foo,或者以這種方式編譯:

./configure --prefix=/usr #places built binaries under /usr instead of /usr/local
make
make install

現在該foo.pc文件將在其預期的位置。

注意:這會將內容放在系統文件夾中,因此請注意,如果您不小心,可能會覆蓋重要的內容。

要回答這個dpkg問題,不。包管理器只能跟踪他們安裝的文件。現在,如果您覺得冒險,您可以編寫包裝標準./configure && make && make install建構過程所需的文件以生成可dpkg安裝的 deb 包,該包被跟踪:)

自從我上次製作 debian 軟體包已經有幾年了,老實說,我相當討厭這個過程,所以不要指望我在這方面提供資訊。我已經切換到 archlinux 並編寫PKGBUILDs(使用建構 arch 包的腳本makepkg)是一項非常簡單的任務:)

引用自:https://unix.stackexchange.com/questions/141591