我想使用 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。
答案1
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 或CPPFLAGS
環境變數(或makefile 變數)中。CFLAGS
CXXFLAGS