Como vincular com libcurl no Pangolin

1

Desde o Pangolin, não consigo vincular nenhum programa ao libcurl, mesmo o exemplo fornecido com o libcurl.

Eu instalei o libcurl:

sudo apt-get install libcurl4-gnutls-dev

Então, como diz o README em /usr/share/doc/libcurl4-gnutls-dev / examples, tentei compilar o programa mais simples nos exemplos (copiei para / tmp antes para evitar problemas de acesso de gravação)

'curl-config --cc --cflags --libs' -o simple simple.c

E então eu recebo:

simple.c:(.text+0x99): undefined reference to 'curl_easy_init'
simple.c:(.text+0xc6): undefined reference to 'curl_easy_setopt'
simple.c:(.text+0xd2): undefined reference to 'curl_easy_perform'
simple.c:(.text+0xe1): undefined reference to 'curl_easy_cleanup'
collect2: ld returned 1 exit status

Funcionou como um encanto com 10.04, mas agora não funciona mais em 12.04.

Alguma idéia de como conectar-se com sucesso ao libcurl em 12.04?

Devo reportar ao launchpad, como obviamente, há algo quebrado, seja na instalação das bibliotecas, ou pelo menos na documentação?

Poderia ser um problema com o novo multiarch, algo errado na linha de comando relacionada ao novo multiarch, ou as libs não foram instaladas nos diretórios esperados pelo multiarch?

    
por Zakhar 18.05.2012 / 17:54

1 resposta

2

Respondido pelo launchpad

A documentação em /usr/share/doc/libcurl4-gnutls-dev/html/curl-config.html está errada, e, portanto, este é um bug da documentação.

Em vez disso, ou lendo na linha 88:

'curl-config --cc --cflags --libs' -o example example.c

deve ser lido

'curl-config --cc --cflags' -o example example.c 'curl-config --libs'

Isso coloca as bibliotecas compartilhadas APÓS o objeto que queremos vincular e agora funciona.

    
por Zakhar 19.05.2012 / 16:25