是的,我知道这是我假设的 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/

10-13 05:44