Всем доброго дня!
Уже несколько дней не получается подключить Curl к CodeBlocks с MinGW (windows 7 32bit).
Пытался сделать по этой схеме:
www.lsdeex.ru/archives/3
1. Скачал Curl отсюда
curl.haxx.se/download.html
взял этот (не знаю правильно ли):
2. Распаковал архив в c:\curl
вот содержимое:
3. Запускаю cmd, перехожу в папку с распакованным Curl, выполняю mingw32-make mingw32
в конце получаю:
4. Затем следуя инструкции получаю два файла в директории lib – libcurl.a и libcurldll.a
Копирую их в C:\Program Files\CodeBlocks\MinGW\lib
а папку include/curl (которая содержит curl.h) в C:\Program Files\CodeBlocks\MinGW\lib\include
5. Теперь запускаю CodeBlocks
Проделываю:
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. Вот что получаю.:
Пожалуйста помогите справится с проблемой!