Estou confuso sobre como usar *-dev packages no Ubuntu.
Eu quero usar a biblioteca libxml2 , no Ubuntu, para meu próprio desenvolvimento de código. Instalei o libxml2-dev usando apt-get , que coloca os arquivos de cabeçalho no /usr/include/libxml2/libxml .
Para incluir um arquivo de cabeçalho, por exemplo parse.h , tenho que usar o seguinte caminho libxml2/libxml/parser.h . Isso funciona bem, mas depois me deparo com uma série de problemas.
parse.h , conforme escrito pelo desenvolvedor, inclui outro cabeçalho libxml/xmlversion.h . Infelizmente, esse caminho NÃO é consistente com a forma como esses arquivos de cabeçalhos de pacotes -dev são armazenados no Ubuntu. Ou seja, xmlversion.h precisa ser chamado (pelo menos pelo meu programa) como libxml2/libxml/xmlversion.h .
Da mesma forma, xmlversion.h chama um cabeçalho libxml/xmlexports.h , que também não está no caminho de pesquisa padrão, criando uma série em cascata de erros "Nenhum arquivo desse tipo".
Suponho que eu poderia resolver esse problema especificando manualmente o caminho de pesquisa para incluir /usr/local/libxml2 , mas isso parece negar o benefício de usar um gerenciador de pacotes como apt-get . No mínimo, presumo que o gerenciador de pacotes, ao instalar um pacote *-dev , irá configurar corretamente os caminhos de busca do compilador
O que eu estou perdendo em termos de usar *-dev packages? Isso é um comportamento normal ou um problema específico para libxml2-dev ? O que o Gerenciador de Pacotes apt espera que eu faça após instalar um pacote *-dev ?