是的,我知道这是libcurl.lib的链接器错误我假设? 我尝试从不同的源代码下载libcurl并将其放在不同的地方。
这些是错误:
LibFuckingCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_strerror referenced in function _main
和另外4个同类。
这是示例代码
#include <stdio.h>
#include <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;
}
项目属性 C / C ++ 一般 - &gt;其他包含目录 - &gt; C:/项目/ libcurl的/包括
链接 常规 - &gt;其他图书馆目录 - &gt; C:/项目/ libcurl的/ lib中
输入 - &gt;附加依赖性 - &gt; libcurl.lib
命令行:我在这里可以读到libcurl.lib已经陈述
Assuming this structure:
Project
lib
libcurl.dll
libcurl.lib
... dll's
include
curl.h
curlbuild.h
... all the header files
VisualStudio (where VS puts the project)
我还尝试将包含在目录和库路径的VC ++选项中。我看过很多指南,帖子,有同样问题的人,忘了包含libcurl.lib
我下载了一个预先构建的libcurl版本,因为CMake昨天差点杀了我。
答案 0 :(得分:9)
使用静态库
处理Visual Studio 2013感谢一位天使,我现在开始工作了。 找到这个git repo:https://github.com/blackrosezy/build-libcurl-windows
运行.bat,它也生成静态库,如下载之前的下载。
如何:
运行存储库中包含的.bat。
libcurl将在包含文件夹include和lib。
的thirdparty子文件夹中找到创建一个新的Visual Studio项目
属性 - &gt; VC ++ - &gt;添加目录thirdparty / include(路径)
属性 - &gt; VC ++ - &gt;添加库thirdparty / lib / static-debug(路径)
属性 - &gt; C ++ - &gt;预处理器 - &gt;添加CURL_STATICLIB
链接器 - &gt;一般 - &gt;其他图书馆馆藏图书馆 - &gt; thirdparty / lib / static-debug(路径) 链接器 - &gt;输入add:C:\ xxx \ xxx \ xxx \ build-libcurl-windows \ third-party \ libcurl \ lib \ static-debug \ libcurl_a_debug.lib(lib文件的完整路径)