错误LNK2019:未解析的外部符号libcurl Visual Studio

时间:2015-02-01 19:38:46

标签: c++ visual-studio-2013 linker libcurl

是的,我知道这是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昨天差点杀了我。

1 个答案:

答案 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文件的完整路径)