codeblocks libcurl链接问题窗口7

时间:2016-06-02 17:59:29

标签: c++ compiler-errors codeblocks libcurl mingw32

我试图在代码中编译以下内容:块作为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请求。

1 个答案:

答案 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选项。