1下载win32下的cURL库
可以在网上下载windows cURL库 不同版本对应的 libcurl.dll不同。
这里我们使用cocos2d-x 自带的windows cURL库 文件分别为
cocos2d-2.1rc0-x-2.1.3\Debug.win32下: libcurl.dll。
cocos2d-2.1rc0-x-2.1.3\Debug.win32下: libcurl_imp.lib。
cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\third_party\win32\curl curl.h 等....。
2 vc2010开发环境的设置
a、目录
PROJECT->项目名->property Pages->VC++Directories中设置头文件和lib库引用目录 如下:
b、库文件pthreadVC2.lib
PROJECT->项目名->property Pages->Linker->Input中设置依赖的lib库文件
(注:也可用#pragma comment(lib, "libcurl_imp.lib")代替
c、动态库文件Libcurl.dll
Libcurl.dll 放入 C:\WINDOWS\system32 或针对某个项目放置在该项目的Debug文件中
3 测试
#include "stdio.h"
#include "stdlib.h"
#include "curl.h"
#include <iostream>
using namespace std;
size_t read_data(void *buffer, size_t size, size_t nmemb, void *user_p)
{
size_t return_size = fread(buffer, size, nmemb, (FILE *)user_p);
//cout << (char *)buffer << endl;
return return_size;
}
size_t write_data(void *buffer, size_t size, size_t nmemb, void *user_p)
{
const char* buff = static_cast<char*>(buffer);
//.........数据处理
return 1;
}
int main()
{
CURL *easy_handle;
CURLcode res;
easy_handle = curl_easy_init();
if (easy_handle)
{
curl_easy_setopt(easy_handle, CURLOPT_URL, "192.168.1.25");
curl_easy_setopt(easy_handle, CURLOPT_PORT, 5100);
curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, &read_data);
curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, &write_data);
curl_easy_perform(easy_handle);
/* always cleanup */
curl_easy_cleanup(easy_handle);
}
return 0;
}