为curl准备项目 - Visual Studio 2013

问题描述 投票:0回答:2

我做了一切,因为它写在这里:cURL with Visual Studio 2013。 Visual显示了这样的错误:

未解析的外部符号__imp__curl_easy_setopt

未解析的外部符号__imp__curl_easy_perform

未解决的外部符号__imp__curl_easy_cleanup

未解决的外部符号__imp__curl_easy_init`

我认为这是libcurl.lib的问题,但我不知道我做错了什么...添加的Include和库目录可以在这个截图中看到:

libcurl.lib还补充说......

要运行的示例代码:

#include <iostream>
#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;
}

我花了很多时间来搜索如何在我的项目中添加curl,当有真正的希望时,再一次有些东西不起作用......

c++ visual-studio curl
2个回答
0
投票

我看到你忘记了cURL with Visual Studio 2013的第3步:

确保选择Release as configuration(左上角)!

在屏幕截图中,您在Debug配置中应用了这些设置。


0
投票

在文件curl.h中,您可以找到此代码段

#ifdef CURL_STATICLIB
#  define CURL_EXTERN
#elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)
#  if defined(BUILDING_LIBCURL)
#    define CURL_EXTERN  __declspec(dllexport)
#  else
#    define CURL_EXTERN  __declspec(dllimport)
#  endif
#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
#  define CURL_EXTERN CURL_EXTERN_SYMBOL
#else
#  define CURL_EXTERN
#endif

因此,如果要链接静态版本的curl,则必须在#include <curl/curl.h>之前定义CURL_STATICLIB

© www.soinside.com 2019 - 2024. All rights reserved.