pkg-config não reconhece nenhuma opção por algum motivo

pkg-config não reconhece nenhuma opção por algum motivo

Eu gostaria de usar o pkg-config para alterar os diretórios de inclusão de um pacote, mas parece que ele não aceita nenhuma opção.

Após emitir o seguinte 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

... falha instantaneamente na primeira opção do cflag:

Unknown option -fopenmp

Este é um comportamento normal? Como posso fazer isso funcionar?

PS: Usando Debian Jessie.

Responder1

pkg-configsinalizadores de saída destinados a serem usados ​​com um compilador ou vinculador. Normalmente você usaria assim:

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

Você não pode usar o pkg-configcomando para alterar os caminhos usados ​​por um determinado pacote. Os caminhos são definidos no .pcarquivo correspondente,por exemplo /usr/lib/x86_64-linux-gnu/pkgconfig/ImageMagick.pc. Para personalizar isso, a opção mais segura é copiar o arquivo em outro lugar, modificá-lo conforme apropriado e especificar o caminho para o arquivo usando a PKG_CONFIG_PATHvariável de ambiente.

Observe que se você mesmo construiu as bibliotecas do ImageMagick, a construção deveria ter produzido um .pcarquivo válido para você. Você também não deve usar .pcarquivos para especificar opções como -fopenmp; aqueles devem ir em seu comando de construção, em seu makefile ou nas CPPFLAGSvariáveis ​​de ambiente (ou variáveis ​​​​de makefile).CFLAGSCXXFLAGS

informação relacionada