Начиная с Ящера мне не может удаться связать любую программу с libcurl, даже пример, которому предоставляют libcurl самостоятельно.
Я установил libcurl:
sudo apt-get install libcurl4-gnutls-dev
Затем как README говорит в/usr/share/doc/libcurl4-gnutls-dev/examples, я пытался компилировать самую простую программу в примерах (скопировал его в/tmp прежде для предотвращения проблем доступа для записи),
`curl-config --cc --cflags --libs` -o simple simple.c
И затем я добираюсь:
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
Это работало как очарование с 10,04, но теперь это больше не делает на 12,04.
Какая-либо идея о том, как связать sucessfuly с libcurl в 12,04?
Я должен сообщить панели запуска, как очевидно, существует что-то поврежденное, или в установке библиотек, или по крайней мере в документации?
Это могла быть проблема с новой мультидугой, что-то, что я делаю неправильный в командной строке, связанной с той новой мультидугой, или освобождение не было установлено в каталогах, ожидаемых мультидугой?
Ответ с панели запуска
Документация в /usr/share/doc/libcurl4-gnutls-dev/html/curl-config.html неверна, и поэтому это ошибка документации.
Вместо этого или читая в строке 88:
`curl-config --cc --cflags --libs` -o example example.c
следует читать
`curl-config --cc --cflags` -o example example.c `curl-config --libs`
Это помещает общие библиотеки ПОСЛЕ объекта, который мы хотим связать, и теперь это работает. [ 116]