Настройка CURL в CodeBlocks MinGW

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Seganapa, 24 Nov 2012.

Thread Status:
Not open for further replies.
  1. Seganapa

    Seganapa New Member

    Joined:
    8 Jun 2012
    Messages:
    74
    Likes Received:
    0
    Reputations:
    0
    Всем доброго дня!
    Уже несколько дней не получается подключить Curl к CodeBlocks с MinGW (windows 7 32bit).

    Пытался сделать по этой схеме:
    www.lsdeex.ru/archives/3

    1. Скачал Curl отсюда curl.haxx.se/download.html
    взял этот (не знаю правильно ли):
    [​IMG]

    2. Распаковал архив в c:\curl
    вот содержимое:
    [​IMG]

    3. Запускаю cmd, перехожу в папку с распакованным Curl, выполняю mingw32-make mingw32
    в конце получаю:
    [​IMG]

    4. Затем следуя инструкции получаю два файла в директории lib – libcurl.a и libcurldll.a
    Копирую их в C:\Program Files\CodeBlocks\MinGW\lib
    [​IMG]

    а папку include/curl (которая содержит curl.h) в C:\Program Files\CodeBlocks\MinGW\lib\include
    [​IMG]

    5. Теперь запускаю CodeBlocks
    Проделываю:
    [​IMG]

    [​IMG]

    6. Пишу небольшой тестовый код:

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

    using namespace std;

    static char errorBuffer[CURL_ERROR_SIZE];
    static string buffer;
    static int writer(char *data, size_t size, size_t nmemb, std::string *buffer)
    {
    int result = 0;

    if (buffer != NULL)
    {
    buffer->append(data, size * nmemb);
    result = size * nmemb;
    }

    return result;
    }

    int main()
    {
    char url[] = "http://google.ru";
    cout << "Retrieving " << url << endl;

    CURL *curl;
    CURLcode result;

    curl = curl_easy_init();

    if(!curl)
    {
    cout << "cant init curl. exit";
    return 0;
    }

    curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
    curl_easy_setopt(curl, CURLOPT_URL, url);
    curl_easy_setopt(curl, CURLOPT_HEADER, 1);
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
    curl_easy_setopt(curl, CURLOPT_NOBODY, 1);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);

    result = curl_easy_perform(curl); // as curl_exec

    curl_easy_cleanup(curl);

    if (result == CURLE_OK)
    {
    cout << buffer << "\n";
    exit(0);
    }else{
    cout << "Error: [" << result << "] - " << errorBuffer;
    exit(-1);
    }
    }

    7. Вот что получаю.:
    [​IMG]

    Пожалуйста помогите справится с проблемой!
     
    #1 Seganapa, 24 Nov 2012
    Last edited: 24 Nov 2012
  2. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Мсье знаетъ толкъ в извращенiяхъ. Я бы на вашемъ мѣстѣ для подобныхъ задачь использовалъ что-нибудь болѣе подходящѣе, юниксовое.
     
  3. Seganapa

    Seganapa New Member

    Joined:
    8 Jun 2012
    Messages:
    74
    Likes Received:
    0
    Reputations:
    0
    ВОПРОС ЗАКРЫТ! Нужно было прописать путь в глобальных настройках компилятора
     
Thread Status:
Not open for further replies.