我不知道如何将curl包含到我的项目中。 我已经阅读了这个获取LibCurl与Visual Studio 2013一起使用 ,但在我的文件夹中使用curl(来自https://curl.haxx.se/download.html#Win64 – Win64 x86_64 7zip)只有bin文件夹中的libcurl.dll 。 在lib文件夹中只有libcurl.a和libcurldll.a 。
我已经添加了包含VC ++目录的路径– > Inlcude目录 ,并尝试编译此代码:
#include #include #include #include struct url_data { size_t size; char* data; }; size_t write_data(void *ptr, size_t size, size_t nmemb, struct url_data *data) { size_t index = data->size; size_t n = (size * nmemb); char* tmp; data->size += (size * nmemb); #ifdef DEBUG fprintf(stderr, "data at %p size=%ld nmemb=%ldn", ptr, size, nmemb); #endif tmp = realloc(data->data, data->size + 1); /* +1 for ' ' */ if(tmp) { data->data = tmp; } else { if(data->data) { free(data->data); } fprintf(stderr, "Failed to allocate memory.n"); return 0; } memcpy((data->data + index), ptr, n); data->data[data->size] = ' '; return size * nmemb; } char *handle_url(char* url) { CURL *curl; struct url_data data; data.size = 0; data.data = malloc(4096); /* reasonable size initial buffer */ if(NULL == data.data) { fprintf(stderr, "Failed to allocate memory.n"); return NULL; } data.data[0] = ' '; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data); res = curl_easy_perform(curl); if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %sn", curl_easy_strerror(res)); } curl_easy_cleanup(curl); } return data.data; } int main(int argc, char* argv[]) { char* data; if(argc < 2) { fprintf(stderr, "Must provide URL to fetch.n"); return 1; } data = handle_url(argv[1]); if(data) { printf("%sn", data); free(data); } return 0; }
但我得到这样的错误:
函数handle_url中引用了未解析的外部符号__imp_curl_easy_strerror
您必须将您的应用程序链接到libcurl.a(用于静态链接)或libcurldll.a(用于动态链接)。
首先,您应该在项目设置中添加一个额外的库目录,该目录指向包含这些.a文件的文件夹,之后有两个选项:
在项目设置中添加依赖项…
Project Properties -> Linker -> Input -> Additional Dependencies.
…或者使用预处理器(只需将这行代码添加到源文件中):
#pragma comment(lib, "libcurl.a")
祝好运!
以上就是c/c++开发分享将libcurl包含在Microsoft Visual Studio 2015中相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/519355.html