pkg-config erkennt aus irgendeinem Grund keine Optionen

pkg-config erkennt aus irgendeinem Grund keine Optionen

Ich möchte pkg-config verwenden, um die Include-Verzeichnisse für ein Paket zu ändern, aber es sieht so aus, als würden keine Optionen akzeptiert.

Nach der Eingabe des folgenden Befehls:

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

...es schlägt gleich bei der ersten cflag-Option fehl:

Unknown option -fopenmp

Ist das ein normales Verhalten? Wie kann ich es zum Laufen bringen?

PS: Ich verwende Debian Jessie.

Antwort1

pkg-configgibt Flags aus, die für die Verwendung mit einem Compiler oder Linker vorgesehen sind. Normalerweise würden Sie es folgendermaßen verwenden:

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

Sie können den Befehl nicht verwenden, pkg-configum die von einem bestimmten Paket verwendeten Pfade zu ändern. Die Pfade sind in der entsprechenden .pcDatei definiert,z.B /usr/lib/x86_64-linux-gnu/pkgconfig/ImageMagick.pcUm dies anzupassen, ist es am sichersten, die Datei woanders hin zu kopieren, sie entsprechend zu ändern und den Pfad zur Datei mithilfe der PKG_CONFIG_PATHUmgebungsvariable anzugeben.

.pcBeachten Sie, dass der Build eine gültige Datei für Sie erstellt haben sollte, wenn Sie die ImageMagick-Bibliotheken selbst erstellt haben . Sie sollten auch keine .pcDateien verwenden, um Optionen wie anzugeben ; diese sollten nicht in Ihren Build-Befehl, in Ihr Makefile oder -fopenmpin die Umgebungsvariablen oder (oder Makefile-Variablen) aufgenommen werden CPPFLAGS.CFLAGSCXXFLAGS

verwandte Informationen