【发布时间】:2011-06-05 14:52:17
【问题描述】:
我不知道如何正确地将静态 libcurl 库添加到我的 Code::Blocks IDE。我希望它是静态的,因为在我的程序运行期间不需要默认不包含在 Windows 中的 .dll 文件。我正在使用这个 libcurl: http://curl.haxx.se/dlwiz/?type=lib&os=Win32&flav=-(没有 OpenSSL 的 minGW)
这是我的全局编译器设置:http://img845.imageshack.us/img845/1381/halpr.jpg
我收到以下错误:
ld.exe||找不到-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?topic=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
我确定我这些设置配置错了,所以我无法编译它。
【问题讨论】:
-
只是为了获得更多信息,您能否提供实际调用的命令行的样子?您可以通过在“其他设置”选项卡下并从下拉菜单中选择“完整命令行”来执行此操作。您能否提供一个存在于您的 lib/curl-7.x.x*/lib 目录下的文件列表?
-
您是如何“安装”libcurl 文件的?您是否只是创建了一个新目录并在那里复制了 lib 和包含文件夹,然后告诉代码块到那里查看?我正在尝试自己解决问题。谢谢! :)
标签: c++ static libcurl codeblocks