我之前问过一个关于libcurl的问题。我已经自己找到了答案,一旦我确定它有效,我很乐意分享我是如何解决这个问题的。事情是这样的,在此之前,当我试图编译时,链接器会出现问题,经过一点搜索和反复尝试,我发现包括以下内容:
-I curlinclude
-L curllib
-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: %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;
}
如有任何帮助,我们将不胜感激。
您已成功将编译器链接到libcurl
的静态库。但是,当您执行程序时,它会尝试为libcurl
查找.ddl
,但在它搜索的目录中找不到它。通常,这是运行应用程序的目录。试着把.dll
放在那个位置,看看这是否有帮助。