euMesmo2 0 Denunciar post Postado Abril 1, 2010 Alguem sabe como adicionar uma biblioteca ja compilada, no caso "curlpp", ao makefile? Sei q vou ter que colocar dentro de "LOBS", mas com q prefixo? PS: To usando Linux. Segue abaixo parte do meu Makefile Atual: LIBS:= g++ -o"BuscadorCurso" $(LIBS) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 2, 2010 Pelo que entendi, você precisa usar a opção -l, que carrega uma biblioteca já compilada Compartilhar este post Link para o post Compartilhar em outros sites
euMesmo2 0 Denunciar post Postado Abril 2, 2010 Pelo que entendi, você precisa usar a opção -l, que carrega uma biblioteca já compilada Sim, mas qual seria o comando todo?A biblioteca esta em "/usr/local/lib" La tem o arquivo "libcurlpp.la" e alguns links sei la pra onde. Qual seria o comando complito? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Abril 2, 2010 $ g++ programa.c -l caminho_para_a_biblioteca Compartilhar este post Link para o post Compartilhar em outros sites
euMesmo2 0 Denunciar post Postado Abril 2, 2010 $ g++ programa.c -l caminho_para_a_biblioteca Não funcionou: Building target: BuscadorCurso Invoking: GCC C++ Linker g++ -o"P1" ./buscador.o -l /usr/local/lib/libcurlpp.la /usr/bin/ld: cannot find -l/usr/local/lib/libcurlpp.la collect2: ld returned 1 exit status make: ** [P1] Erro 1 make: O alvo `all' não foi reprocessado por causa de erros. Build complete for project P1 Não seria o caso de usar "-L"?andei lendoum pouco sobre na internete, mas não entendi nada. Compartilhar este post Link para o post Compartilhar em outros sites
euMesmo2 0 Denunciar post Postado Abril 3, 2010 Usei: g++ -L /usr/local/libParece q encontrou a biblioteca, mas não reconheceu a maioria dos namespaces. E agora, José... Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Abril 3, 2010 Pesquisem pessoal... Pesquisem... Nó fórum nós temos MUITO material de qualidade disponível... http://forum.imasters.com.br/index.php?/topic/348057-tutorial-gcc-o-basico/ Compartilhar este post Link para o post Compartilhar em outros sites
euMesmo2 0 Denunciar post Postado Abril 3, 2010 Pesquisem pessoal... Pesquisem... Nó fórum nós temos MUITO material de qualidade disponível... http://forum.imasters.com.br/index.php?/topic/348057-tutorial-gcc-o-basico/ Não entendi. Li o seu tópico e analisei alguns makefiles ja prontos na web e o proprio makefile da minha IDE.Então fui tentando várias maneiras até colocar: g++ -L /usr/local/lib -lcurlppA partir de então funcionou... Perai, FUNCIONOU?Alguem pode me esplicar o q aconteceu? Não to entendendo mais nada. Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Abril 4, 2010 Como assim não entendeu? Não tem o que NÃO entender! É só ler o tópico ou, ainda melhor, ler o manual do GCC. É claro que funcionou, não tem o que dar erro! Você indicou o local da biblioteca com -L, que no caso é /usr/local/lib E indicou o nome da lib com -l, que no caso é curlpp O compilador vai então procurar os seguintes arquivos: /usr/local/lib/libcurlpp.a /usr/local/lib/libcurlpp.so /usr/local/lib/libcurlpp.la /usr/local/lib/libcurlpp.dll etc... A que ele achar primeiro será linkada. Se você efetuar a linkagem diretamente também funciona: g++ meu_arquivo.cpp -o meu_programa.cpp "/usr/local/lib/libcurlpp.a" Compartilhar este post Link para o post Compartilhar em outros sites
euMesmo2 0 Denunciar post Postado Abril 4, 2010 Entendi. No caso eu estava fazendo errado ao utilizar -l/usr/local/lib/curlpp, pois o "-L" ja havia indicado o local correto. Muito obrigado, ta funcionando bem agora. Compartilhar este post Link para o post Compartilhar em outros sites