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

0

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

Depois de 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

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

Unknown option -fopenmp

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

PS: usando o Debian Jessie.

    
por Gergely Lukacsy 13.04.2017 / 14:48

1 resposta

2

pkg-config exibe sinalizadores destinados a serem usados com um compilador ou vinculador. Normalmente você usaria assim:

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

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

Observe que, se você criou as bibliotecas do ImageMagick, a compilação deve ter produzido um arquivo .pc válido para você. Você também não deve usar os arquivos .pc para especificar opções como -fopenmp ; esses shouldngo em seu comando build, em seu makefile ou nas variáveis de ambiente CPPFLAGS , CFLAGS ou CXXFLAGS (ou variáveis makefile).

    
por 13.04.2017 / 15:32