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