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-config
sinalizadores 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-config
comando para alterar os caminhos usados por um determinado pacote. Os caminhos são definidos no .pc
arquivo 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_PATH
variável de ambiente.
Observe que se você mesmo construiu as bibliotecas do ImageMagick, a construção deveria ter produzido um .pc
arquivo válido para você. Você também não deve usar .pc
arquivos para especificar opções como -fopenmp
; aqueles devem ir em seu comando de construção, em seu makefile ou nas CPPFLAGS
variáveis de ambiente (ou variáveis de makefile).CFLAGS
CXXFLAGS