pkg-config は何らかの理由でオプションを認識しません

pkg-config は何らかの理由でオプションを認識しません

pkg-config を使用してパッケージの include dirs を変更したいのですが、オプションを受け入れないようです。

次のコマンドを発行した後:

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 ライブラリを自分でビルドした場合は、ビルドによって有効なファイルが生成されているはずです。また、などのオプションを指定するためにファイルを使用するべきではありません。これらは、ビルド コマンド、makefile、、または環境変数 (または makefile 変数)では使用すべきでは.pcありません。.pc-fopenmpCPPFLAGSCFLAGSCXXFLAGS

関連情報