我不知道如何正确地将静态libcurl库添加到我的代码::块IDE中。我希望它是静态的,因为在我的程序运行时,不需要默认情况下不包含在.dll中的任何文件。我正在使用这个libcurl:http://curl.haxx.se/dlwiz/?type=lib&os=Win32&flav=- (没有OpenSSL的minGW)
以下是我的全局编译器设置:http://img845.imageshack.us/img845/1381/halpr.jpg
我得到了以下错误:
ld.exe||cannot查找-lCURL_STATICLIB| ||===构建完成:1错误,0警告===|
在编译此代码时:
include <stdio.h>
include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}显然它找不到CURL_STATICLIB,清华我不知道为什么。我甚至不确定是否需要将CURL_STATICLIB添加到我的链接器设置中(我在其他论坛上读过)。我发现有些人也有同样的问题,但在任何地方都没有得到正确的回答:
stackoverflow.com/questions/4176503/frustrated-with-libcurl
Forums.codeblocks.org/index.php?主题=11391.0
old.nabble.com/gcc-working-with-libcurl-td20506927.html
forums.devshed.com/c-programming-42/linker-error-using-libcurl-698071.html
我已经厌倦了和这个搏斗,请帮帮我。
编辑:
你好,维克多,谢谢你的回应!
我会尽量详细,这样就不会有太太了。下面是我的C:\libs\文件夹的目录/文件夹树的图像:
http://img199.imageshack.us/img199/6977/curl1.png
正如您所看到的,它还包括构建日志,您将注意到这次错误与我之前发布的错误不同。这是因为我更改了全局编译器并构建了项目设置。
我的新构建项目设置:http://img863.imageshack.us/img863/4404/buildoptions.png我的新的全球编译器设置:http://img225.imageshack.us/img225/4926/curl2.png
我确信我配置这些设置错误,这就是为什么我不能编译它。
发布于 2011-06-08 23:33:25
好的,我成功地用libcurl使用静态链接成功地构建了您的示例。使这项工作所涉及的细节是相当复杂的-正确设置它可能变得棘手,对粗心的人。
下面是我用来做这件事的步骤,一定要小心地遵循它们:
CURL_STATICLIB。当定义这一点时,libcurl.h头将进行函数签名预处理以适应静态链接。否则,假设动态链接,然后将被损坏的名称变为_imp__*。屏幕截图中未解决的错误表明它尝试的是动态链接,而不是所需的静态链接。
项目构建选项下的

此时,您应该能够编译和链接libcurl程序,而不会出现任何问题。有几件事值得一提,
CURL_STATICLIB定义。额外的图书馆( ssl、idn、rtmp等)不需要,因为libcurl.dll已经涵盖了它们。希望这能彻底解决你对libcurl的任何构建问题。
https://stackoverflow.com/questions/6243638
复制相似问题