我试图在代码中编译以下内容:块作为C ++项目
S
我将链接器设置为: http://puu.sh/peeYr/9cb79897e5.png
所有这些都是我发现的大量垃圾邮件。
#include <curl/curl.h>
int main(void)
{
char * result;
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com/");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
然后我尝试连接libcurldll.a然后从bin文件夹中链接libcurl.dll,但是当它运行时它会编译说你的计算机缺少&#34; Libcurl.dll&#34;。
我已下载http://curl.haxx.se/dlwiz/?type=lib&os=Win32&flav=-
并使用以下编译器。 http://puu.sh/pefvQ/0ed7876316.png
这非常烦人,我无法解决为什么没有这个库的文档,特别是因为这样的问题似乎很猖獗。 (我已尝试过几个SO问题的解决方案,例如Unresolved symbols when linking a program using libcurl
和
Adding static libcurl to Code::Blocks IDE ) 然而无济于事。我怎么能纠正这个?或者是否有一个更简单,更好的文档库我可以使用?我想做的就是执行HTTP get请求。
答案 0 :(得分:0)
然后我尝试连接libcurldll.a然后从bin文件夹中链接libcurl.dll, 然而,当它运行它时编译说“你的网站上缺少Libcurl.dll” 计算机”。
坚持libcurl.dll
。
您已成功将程序与libcurl.dll
链接,因为您的链接器配置已成功
(在Code :: Blocks中)成功地允许链接器找到它。
libcurl.dll
是动态链接库。这意味着链接器没有物理合并
它进入你的程序,但只是检查它是否定义了函数或
程序试图在其中引用的其他符号,并插入程序中
请求Windows程序加载程序在运行时加载DLL 。 (就这样,那里
只需要是系统中libcurl
的一个副本,所有卷曲客户端程序都可以使用它。
这意味着在运行时该DLL必须存在于Windows的其中一个位置 loader会查找它,或者Windows会说你的计算机缺少 Libcurl.dll
Windows搜索DLL的位置描述为here,
您将从中看到让程序运行的最简单方法是放置
与libcurl.dll
位于同一目录中的.exe
;虽然如果你想成功的话
您可以使用系统中的任何curl-clients,您可以选择3,4或5选项。