尝试链接libcurl时遇到问题

Having trouble trying to link libcurl

本文关键字:遇到 问题 libcurl 链接      更新时间:2023-10-16

我正试图为Bloodshed Dev C++安装libcurl,但遇到了几个问题。我已经在Dev Cpp\MinGW\include下包含了curl目录,并将库文件(我自己使用MinGW编译的)放置在Dev Cpp\MinGW \lib目录中。我已将正在使用的所有库添加到"项目">"项目选项">"参数"下的"链接器"选项卡中。

以下是我用来测试libcurl:的代码

    #define CURL_STATICLIB
#include "curl/curl.h"
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    CURLcode ret;
    CURL *curl = curl_easy_init();
    if (curl == NULL) {
        fprintf(stderr, "Failed creating CURL easy handle!n");
        exit(EXIT_FAILURE);
    }
    /*Attempt to get Facebook*/
    ret = curl_easy_setopt(curl, CURLOPT_URL, "http://www.facebook.com");
    if (ret != CURLE_OK) {
        fprintf(stderr, "Failed getting http://www.google.com: %sn",
                curl_easy_strerror(ret));
        exit(EXIT_FAILURE);
    }
    ret = curl_easy_perform(curl);
    if (ret != 0) {
        fprintf(stderr, "Failed getting http://www.google.com: %sn",
                curl_easy_strerror(ret));
        exit(EXIT_FAILURE);
    }
    return 0;
}

现在,我得到的错误enter code here是:

skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.dll when searching for -lcurlskipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/liblibcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../lib/libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../lib/libcurl.dll when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../liblibcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../libcurl.dll when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../..libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libcurl.dll when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../lib/libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../lib/libcurl.dll when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../libcurl.a when searching for -lcurl
skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../libcurl.a when searching for -lcurl
cannot find -lcurl
[Error] ld returned 1 exit status  
recipe for target 'Test.exe' failed   

我完全陷入了困境,如果有人说我是白痴,告诉我我做错了什么,我会非常感激。

"跳过不兼容"通常表示体系结构不匹配。一个粗略的猜测是,您应该在编译标志中添加-m32。(或者-m64,但从安装路径来看,-m32看起来更有可能。)

(与问题无关,但我忍不住注意到,您的代码正在请求facebook.com并打印一个提及google.com的错误。)

我已经通过切换到Codeblocks,使用不同的发行版并遵循下面列出的教程解决了这个问题。

使用LibCURL C++