Me gustaría usar pkg-config para cambiar los directorios de inclusión de un paquete, pero parece que no acepta ninguna opción.
Después de emitir el siguiente comando:
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
...falla instantáneamente justo en la primera opción de cflag:
Unknown option -fopenmp
¿Es este un comportamiento normal? ¿Cómo puedo hacerlo funcionar?
PD: Usando Debian Jessie.
Respuesta1
pkg-config
genera indicadores destinados a ser utilizados con un compilador o vinculador. Normalmente lo usarías así:
gcc $(pkg-config --cflags ImageMagick) …
No puede usar el pkg-config
comando para cambiar las rutas utilizadas por un paquete determinado. Las rutas están definidas en el .pc
archivo correspondiente,p.ej /usr/lib/x86_64-linux-gnu/pkgconfig/ImageMagick.pc
. Para personalizar eso, la opción más segura es copiar ese archivo en otro lugar, modificarlo según corresponda y especificar la ruta al archivo usando la PKG_CONFIG_PATH
variable de entorno.
Tenga en cuenta que si creó las bibliotecas ImageMagick usted mismo, la compilación debería haber producido un .pc
archivo válido para usted. Tampoco deberías utilizar .pc
archivos para especificar opciones como -fopenmp
; esos no deberían ir en su comando de compilación, en su archivo MAKE o en las variables CPPFLAGS
de entorno (o variables del archivo MAKE).CFLAGS
CXXFLAGS