Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Добавление libcurl в IDE Code::Blocks в Ubuntu 14.04

Автор вопроса: davoidОтветов: 1

У меня проблема с добавлением libcurl в блоки кода. Я установил curl на Ubuntu ($ sudo apt-get install curl), но я не знаю, как это реализовать. В настройках компоновщика я добавил файл libcurl.a. Программа (на C) не компилируется.

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
    /* example.com is redirected, so we tell libcurl to follow redirection */
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);

    /* Perform the request, res will get the return code */
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}

Сегодня я прочитал много уроков и потратил пару часов. Ничего, поэтому я вернулся к исходной точке. Пожалуйста, помогите мне решить эту проблему.

  • 1. Вы должны сначала установить пакет libcurl-dev при разработке с помощью libcurl 2. Вы должны точно показать, что происходит, когда вы пытаетесь скомпилировать, когда вы просите о помощи, как это. Daniel Stenberg 18.12.2014
  • Я получил огромное количество ошибок. imgur.com/admtRhf. Вот некоторые из них. davoid 18.12.2014
  • Итак, вы выбрали ссылку со статической библиотекой, поэтому вам также нужно указать все зависимости вручную. Я предлагаю вам связать с -lcurl, чтобы использовать общую версию, которая избавит вас от многих проблем с связыванием. Daniel Stenberg 18.12.2014
  • Не могли бы вы уточнить, что именно я должен сделать? davoid 18.12.2014
  • Узнайте, что такое компоновка и как она работает, что такое статические и разделяемые библиотеки и чем они отличаются. Тогда вы увидите этот вопрос и ответы в совершенно другом свете. Daniel Stenberg 19.12.2014

curlcodeblockslibcurl

Ответы

Ответ 1 · рейтинг 2 · Mike Kinghan

sudo apt-get install curl устанавливает инструмент командной строки curl и общую библиотеку libcurl. Он не устанавливает файлы заголовков для разработки curl (curl.h и т. д.) и не устанавливает статическую библиотеку libcurl.a, на которую вы пытаетесь связать.

Вам будет гораздо удобнее подключиться к общей библиотеке, libcurl.so

  • В командной строке консоли запустите sudo apt-get install libcurl4-openssl-dev (чтобы установить заголовки разработки curl).
  • In the C::B IDE:
    • Remove libcurl.a from Linker settings.
    • В разделе Настройки компоновщика -> Другие параметры компоновщика введите -lcurl (указывая компоновщику связать libcurl.so) и нажмите OK.

Затем перестройте пример программы.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы