Package-Management

pkg-config 由於某種原因無法辨識任何選項

  • April 13, 2017

我想使用 pkg-config 更改包的包含目錄,但看起來它不接受任何選項。

發出以下命令後:

pkg-config --cflags ImageMagick -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/x86_64-linux-gnu/ImageMagick-6 -I/usr/include/ImageMagick-6

…它在第一個 cflag 選項處立即失敗:

Unknown option -fopenmp

這是正常行為嗎?我怎樣才能讓它工作?

PS:使用 Debian Jessie。

pkg-config輸出旨在與編譯器或連結器一起使用的標誌。通常你會這樣使用它:

gcc $(pkg-config --cflags ImageMagick) …

您不能使用該pkg-config命令更改給定包使用的路徑。路徑在相應的.pc文件中定義,例如 /usr/lib/x86_64-linux-gnu/pkgconfig/ImageMagick.pc. 要自定義它,最安全的選擇是將該文件複製到其他地方,根據需要對其進行修改,並使用PKG_CONFIG_PATH環境變數指定文件的路徑。

請注意,如果您自己建構了 ImageMagick 庫,那麼建構應該已經.pc為您生成了一個有效的文件。您也不應該使用.pc文件來指定選項,例如-fopenmp; 那些應該在你的建構命令、你的 makefile 或CPPFLAGSCFLAGSCXXFLAGS環境變數(或 makefile 變數)中。

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