Problemas com a variável de ambiente libconfig PKG_CONFIG_PATH

2

Codifiquei um projeto com alguns arquivos em C. Para facilitar o início do programa, comecei a gerar um arquivo cfg. Por esse motivo eu instalei o libconf. Infelizmente na compilação com um arquivo de exemplo do libconfig eu recebo esta mensagem.

gcc $(pkg-config --cflags --libs libconfig) example1.c -o example1 example.cfg



example1.c: In Function »main«: example1.c:43:13: Warning: Format »%s« expected argumenttyp »char *«, but argument 3   has typ »int« [-Wformat]

.....

Como me disseram, instalei o sudo apt-get install libconfig8-dev e esperava não configurar nenhum PKG_CONFIG_PATH. Parece que não está compilando corretamente.

    
por Fendrix 13.09.2012 / 15:45

1 resposta

2

Como você obteve e instalou libconfig ?

Se você acabou de instalar o pacote libconfig8 , isso é não é suficiente . Você também precisa instalar o pacote -dev correspondente a ele, para fornecer os arquivos de desenvolvimento (cabeçalhos, biblioteca de links estáticos e dados do pkg-config). Eu fui capaz de achar isso para o libconfig de forma precisa em packages.ubuntu.com . Então

sudo apt-get install libconfig8-dev

deve fazer o truque.

Como você pode ver em aqui , a lista de arquivos deste pacote contém o seguinte arquivo caminho:

/usr/lib/pkgconfig/libconfig.pc

Este é precisamente o arquivo que pkg-config precisa para extrair o CFLAGS e LDFLAGS correspondente a libconfig .

Este diretório está no caminho de procura " pkg-config " incorporado no Ubuntu. Por esse motivo, não é necessário definir PKG_CONFIG_PATH . Você só definiria essa variável de ambiente se precisar pkg-config para procurar em diretórios diferente de aqueles que procura por padrão Então, se você compilou um programa e instalou em /home/user/apps/blah e o arquivo /home/user/apps/blah/lib/pkg-config/libblah.pc precisou estar disponível para pkg-config , você definiria:

export PKG_CONFIG_PATH=/home/user/apps/blah/lib/pkg-config/libblah.pc

para que pkg-config encontre essa instalação de libblah.pc .

No entanto, como você está instalando o libconfig do próprio Ubuntu, ele irá "inserir" automaticamente o arquivo .pc no diretório de pesquisa correto.

    
por allquixotic 13.09.2012 / 15:56