是的,我知道这是我假设的 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++
常规 -> 附加包含目录 -> C:/Project/libcurl/include
链接器
常规 -> 附加库目录 -> C:/Project/libcurl/lib
输入 -> 附加依赖项 -> 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 昨天差点害死我。
最佳答案
使用静态库在 Visual Studio 2013 上工作
多亏了一些天使,我现在开始工作了。
找到这个 git 仓库:https://github.com/blackrosezy/build-libcurl-windows
运行 .bat 也生成了静态库,如之前没有的下载。
如何:
运行存储库中包含的 .bat。
libcurl 将在包含文件夹 include 和 lib 的第三方子文件夹中找到。
创建一个新的 Visual Studio 项目
属性 -> VC++ -> 添加目录第三方/包含(路径)
属性 -> VC++ -> 添加库第三方/lib/static-debug(路径)
属性 -> C++ -> 预处理器 -> 添加 CURL_STATICLIB
Linker -> General -> Additional Library Directories Library ->thirdparty/lib/static-debug(路径)
Linker -> 输入添加:C:\xxx\xxx\xxx\build-libcurl-windows\third-party\libcurl\lib\static-debug\libcurl_a_debug.lib(lib文件的完整路径)
关于c++ - 错误 LNK2019 : unresolved external symbol libcurl Visual studio,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28266953/