arquivos de cabeçalho gtk caminhos de pacote libgtk2.0-dev quebrados pela hierarquia de diretórios de instalação

0

Ubuntu 14.04 Desktop

Eu instalei o pacote dev do gtk 2.0 usando o apt-get. Eu vejo os arquivos de cabeçalho em / usr / include estão dentro de um diretório gtk-2.0 (/usr/include/gtk-2.0) em vez do diretório include raiz. O cabeçalho guarda-chuva gtk.h inclui muitos outros cabeçalhos pelo caminho, supondo que esteja na raiz. Portanto, todas as referências a arquivos de cabeçalho estão quebradas. Se eu incluir o gtk.h incluindo gtk-2.0 / gtk / gtk.h, eu recebo o arquivo não encontrado para todos os includes dentro do gtk.h.

Qual é a melhor maneira de lidar com isso? Obviamente, posso mover todos os cabeçalhos para o diretório de inclusão raiz e para as pastas conforme os arquivos esperam (parece que isso deveria ter sido feito pela instalação). Ou, eu posso editar todos os arquivos de cabeçalho manualmente para corrigir os caminhos (parece ser uma dor real). Qual é a melhor prática para trabalhar com esses arquivos? Devo fazer uma cópia local e adicionar caminhos locais ao meu caminho de inclusão?

Tenho certeza de que havia um motivo para esse layout de arquivo pela instalação, mas não consigo pensar em o que poderia ser? Qualquer orientação sobre as melhores práticas aqui seria apreciada.

    
por iojedi 19.07.2014 / 23:01

1 resposta

0

A maneira correta de resolver isso seria adicionar -I/usr/include/gtk-2.0 como parte do comando compile. No entanto, idealmente, isso não está diretamente incluído. Em vez disso, a ferramenta pkg-config pode fornecer as CFLAGS para adicionar e as bibliotecas para vincular (no comando ld ) para as bibliotecas necessárias.

O pacote libgtk2.0-dev é enviado com 5 arquivos pkg-config diferentes: gtk+-x11-2.0.pc , gtk+-unix-print-2.0.pc , gtk+-2.0.pc , gdk-2.0.pc e gdk-x11-2.0.pc . Para usar o gtk+-2.0.pc one, execute pkg-config gtk+-2.0 --cflags para obter as CFLAGS e pkg-config gtk+-2.0 --libs para obter os sinalizadores para ld .

    
por saiarcot895 19.07.2014 / 23:27