在devc+;中使用libcurl几乎解决了我的问题+;,最后一个障碍。(缺少libcurl.dll)

在devc+;中使用libcurl几乎解决了我的问题+;,最后一个障碍。(缺少libcurl.dll),c,libcurl,static-linking,dev-c++,C,Libcurl,Static Linking,Dev C++,我以前问过一个关于libcurl的问题。我已经设法找到了一个答案,我自己,并将很高兴分享我如何解决这个问题,只要我相信它的工作。事情是这样的,在此之前,当我尝试编译时,链接器会抛出一个错误,经过一点搜索和反复尝试,我发现包括以下内容: -I curl\include -L curl\lib -lws2_32 -lwldap32 进入链接器,确保程序已编译。 问题是,一旦程序编译,运行它就会返回错误: 程序无法启动,因为您的计算机中缺少libcurl.dll。请尝试重新安装程序以解决此问题

我以前问过一个关于libcurl的问题。我已经设法找到了一个答案,我自己,并将很高兴分享我如何解决这个问题,只要我相信它的工作。事情是这样的,在此之前,当我尝试编译时,链接器会抛出一个错误,经过一点搜索和反复尝试,我发现包括以下内容:

-I curl\include 
-L curl\lib 
-lws2_32 
-lwldap32
进入链接器,确保程序已编译。 问题是,一旦程序编译,运行它就会返回错误: 程序无法启动,因为您的计算机中缺少libcurl.dll。请尝试重新安装程序以解决此问题

这是我的代码,尽管我怀疑它的相关性:

#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: %s\n",
                curl_easy_strerror(ret));
        exit(EXIT_FAILURE);
    }

    ret = curl_easy_perform(curl);
    if (ret != 0) {
        fprintf(stderr, "Failed getting http://www.google.com: %s\n",
                curl_easy_strerror(ret));
        exit(EXIT_FAILURE);
    }

    return 0;
}
#定义CURL\u STATICLIB
#包括“curl/curl.h”
#包括
#包括
内部主(空){
卷曲编码ret;
CURL*CURL=CURL_easy_init();
if(curl==NULL){
fprintf(stderr,“创建卷曲轻松句柄失败!\n”);
退出(退出失败);
}
/*尝试获取Facebook*/
ret=curl\u easy\u setopt(curl,CURLOPT\u URL,“http://www.facebook.com");
如果(ret!=卷曲(正常){
fprintf(stderr,“获取失败”http://www.google.com: %s\n“,
卷曲、轻松、舒展(ret);
退出(退出失败);
}
ret=旋度\容易\执行(旋度);
如果(ret!=0){
fprintf(stderr,“获取失败”http://www.google.com: %s\n“,
卷曲、轻松、舒展(ret);
退出(退出失败);
}
返回0;
}

任何帮助都将不胜感激。

您已成功地将编译器链接到
libcurl
的静态库。但是,当您执行该程序时,它会尝试查找
libcurl
.ddl
,但无法在它搜索的目录中找到它。通常这是运行应用程序的目录。尝试将
.dll
放在该位置,看看是否有帮助。

有几种可能的答案。一种方法是将libcurl.dll复制到与
.exe
相同的目录中。Windows应该在那里找到它。出于某种原因,它会执行上面提到的dll。这样做了,但是程序现在仍然拒绝运行,抛出错误:应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序。我怀疑这个问题可能是我正在使用的库可能与DEV C++不兼容,我会尝试重新编译源代码。