Como especificar a localização da biblioteca ao compilar

1

Como especifico a localização de uma biblioteca ao executar ./configure?

Eu pesquisei em volta e achei que a resposta está no estabelecimento de LDFLAGS e CPPFLAGS, mas não sei como fazer isso.

Especificamente, eu compilei a libx264 e agora quero compilar a libav e ativar o suporte a libx264, mas não sei como apontar ./configure para minhas pastas libx264 include e lib.

Obrigado.

    
por hatterman 16.06.2014 / 00:02

2 respostas

0

Obrigado pelo ponteiro. Eu fiz mais leituras e descobri como fazer isso. A solução é dupla.

  1. Compile x264 com '--enable-shared' e '--enable-static'. Sem especificar '--enable-shared', a biblioteca nunca foi encontrada.

  2. Especifique a localização dos arquivos 'lib' e 'include' gerados pelo processo de criação do x264 da seguinte forma: -

    ./ configure --extra-ldflags="- L / caminho / para / extra / lib" --extra-cflags="- I / caminho / para / extra / inclui" --enable-x264 ..etc ..etc

Eu tenho agora compilado com sucesso o libav, com suporte a x264, e tenho os seguintes binários: -

avconv, avplay, avprobe, avserver, ffmpeg.

Claro, tenho certeza que se eu tivesse acabado de instalar a libav usando o apt-get, eu teria me poupado de muitos problemas, mas como esse foi um processo de aprendizado, eu acho que aprendi muito.

    
por hatterman 17.06.2014 / 23:00
0

Existem duas maneiras de passar variáveis de configuração para ./configure , e isso depende bastante do projeto específico, então você deve verificar a documentação.

O primeiro é usar as opções --with... que o autor do script decidiu fornecer. Por exemplo, xcircuit tem que ser configurado assim em 14.04:

./configure --with-tcl --with-tk --with-tcllibs=/usr/lib/x86_64-linux-gnu/ --with-tklibs=/usr/lib/x86_64-linux-gnu/ 

A outra maneira é passar uma variável de ambiente para o script (no estágio de configuração) ou para o Makefile (na fase de compilação):

CPPFLAGS=-Wall ./configure 

ou

CPPLAGS=-Wall make 

Em resumo, é até como o autor escreveu o software. Você deve consultar a documentação específica, no seu caso, da libav.

    
por Rmano 16.06.2014 / 00:57