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
?