代码之家  ›  专栏  ›  技术社区  ›  Kyle

使用libcurl链接程序时未解析的符号

  •  29
  • Kyle  · 技术社区  · 15 年前

    我知道这是编程问题,但我只是很沮丧试图找出我做错了什么。。

    我使用的是visual studio 2010并遵循了以下所有步骤: http://curl.haxx.se/libcurl/c/visual_studio.pdf

    当我试图编译我的解决方案时,我不断地得到这个错误:

    1>------ Build started: Project: LibCurl, Configuration: Debug Win32 ------
    1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main
    1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main
    1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function _main
    1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function _main
    1>C:\Users\Kyle\Documents\Visual Studio 2010\libcurl\VisualStudio\LibCurl\Debug\LibCurl.exe : fatal error LNK1120: 4 unresolved externals
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    

    资料来源:

    // LibCurl.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <stdio.h>
    #include <curl/curl.h>
    
    int main(void)
    {
      CURL *curl;
      CURLcode res;
    
      curl = curl_easy_init();
      if(curl) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
        res = curl_easy_perform(curl);
    
        /* always cleanup */ 
        curl_easy_cleanup(curl);
      }
      return 0;
    }
    
    6 回复  |  直到 14 年前
        1
  •  3
  •   Willi Ballenthin    15 年前

    似乎没有成功链接库。确保库目录设置为包含libcurl dll的完整路径。还要确保该库实际上已添加到项目中。

        2
  •  86
  •   stoiczek    15 年前

    我一直在使用libcurl的静态版本,为了正确地将我的程序链接到它,我必须添加定义:

    静态卷曲

    以生成我的项目的配置。

        3
  •  21
  •   cdonts    10 年前

    除了定义 CURL_STATICLIB ,对于我来说,还需要链接以下依赖项(包括 libcurl.lib libcurld.lib ):

    • Ws2_32.lib
    • Wldap32.lib
        4
  •  5
  •   wayne    11 年前

    我遇到了一个类似的问题-发现我引用的是libcurl.lib的64位位置。将链接目录更改为32位位置,项目得到完美编译。

        5
  •  4
  •   tagoma    14 年前

    我也有同样的问题。我写了我终于可以 卷曲 工作,这里: http://quantcorner.wordpress.com/2012/04/08/using-libcurl-with-visual-c-2010/ 如果你想看看。祝你好运!

        6
  •  0
  •   Zsolti    9 年前

    经过许多想法和配置,我解决了添加以下内容的问题:

    #pragma comment(lib, "lib/libcurl_a.lib")

    哪里 libcurl_a.lib 是curl lib文件的名称,并且 lib 是包含它的文件夹。