(16.04) Instalando da origem sem arquivo de configuração

0

Eu devo instalar algum software de adaptação de uma fonte; o software é chamado XMBF ( link ). Fornecido com o código-fonte é um makefile, mas nenhum arquivo de configuração. O manual diz que eu provavelmente precisarei editar a variável "INCPATH" no Makefile em ordem, dependendo da máquina que estou usando; Eu tentei isso, mas ainda estou recebendo erros, como este:

/usr/include/glibmm-2.4/glibmm/ustring.h:24:26: fatal error: 
glibmmconfig.h: No such file or directory
compilation terminated.
Makefile:279: recipe for target 'main.o' failed
make: *** [main.o] Error 1

que indicam que um .cpp não consegue localizar um arquivo de cabeçalho. Isso significa que eu tenho que ir para todos os arquivos .cpp e editar os caminhos do arquivo de cabeçalho? Ou há uma maneira mais fácil de fazer isso? Eu sou decentemente novo nessas coisas, então eu aprecio muito quaisquer referências que possam me ajudar a aprender como as instalações de fontes funcionam. Ou isso é instalar a partir de um "binário"? Não tenho certeza da diferença.

Obrigado!

-Jacob

    
por Jacob Hempel 22.05.2017 / 22:32

1 resposta

0

Provavelmente, a coisa mais fácil é deixar pkg-config fazer o trabalho para você:

INCPATH      := $(shell pkg-config --cflags libxml++-2.6 glibmm-2.4)

Você pode fazer algo semelhante para as bibliotecas:

LIBS         := $(shell pkg-config --libs libxml++-2.6 glibmm-2.4 sigc++-2.0 gsl)

Você provavelmente descobrirá que também precisa modificar a regra de link real para o destino executável, para que as bibliotecas fiquem à direita dos arquivos de objeto:

$(LINK) -o $(TARGET) $(OBJECTS) $(LFLAGS) $(LIBS)

Isso foi o suficiente para fazê-lo funcionar na minha caixa 16.10, com o padrão gcc-6 - no Ubuntu 16.04 com o padrão gcc-5.x que você pode precisar para instruir o compilador a usar os recursos do C ++ 11, por exemplo. make "CXXFLAGS=-std=gnu++11" .

    
por steeldriver 22.05.2017 / 23:16