【问题标题】:Using LibCURL C++使用 LibCURL C++
【发布时间】:2012-02-11 04:32:21
【问题描述】:

我已经尝试在 C++ 中使用 LibCURL 几个小时了,这真的让我很紧张。我感觉其他人以前也遇到过类似的问题,但我没有找到给我解决方案的帖子。

这就是我所做的:

由于libCurl download page 如此混乱,我发布的正是我所做的。首先,我下载了顶部的文件(curl-7.23.1.zip),然后在 winRAR 中打开它。然后我进入包含文件夹,然后从那里提取“curl”文件夹。

然后我使用 Code::Blocks 创建了一个新项目,然后将“curl”文件夹移动到与我的项目相同的文件夹中。

然后我将'#include "curl/curl.h"'添加到我的文件顶部,然后尝试初始化一个简单的CURL var...然后我得到一个错误,说:

...\main.cpp|22|undefined reference to `_imp__curl_easy_init'|

这是实际代码/错误的图片:

老实说,我认为我正在做的事情非常愚蠢,但我只是不知道该怎么做。

【问题讨论】:

  • 我还没有让这个工作。有没有人有任何其他建议?再次感谢。

标签: c++ libcurl


【解决方案1】:

“首先,我下载了顶部的文件(curl-7.23.1.zip),然后在winRAR中打开它。然后我进入包含文件夹,然后将'curl'文件夹解压缩出来。 "

听起来你没有编译 curl 的源代码。页面顶部的所有下载都只是来源。

【讨论】:

  • 他没有编译 libcurl。我知道他的问题是关于他的项目中的编译错误。它们是因为他试图包括尚不存在的东西而引起的。 (至少在我看来是这样的。)
【解决方案2】:

在一些帮助下终于让它工作了

我是这样做的:

  1. 下载“Win32 Generic”libcurl 包。 (7.24.0)
  2. 在 Code::Blocks 中,右键单击您的项目并打开构建选项。
  3. 转到“链接器设置”并将“curldll”添加到“链接库”列表框中。 (image)
  4. 转到“搜索目录”并在“编译器”下将其链接到“curl-7.24.0-devel-mingw32\include”文件夹的路径。
  5. 转到“搜索目录”下的“链接器”选项卡,然后添加“curl-7.24.0-devel-mingw32\lib”目录的路径。
  6. 将所有 DLL 从“curl-7.24.0-devel-mingw32\bin”文件夹移动到项目的“bin”文件夹中。
  7. 构建和享受

将 libCurl 与 Qt 一起使用,会更容易一些。

  1. 将所有必要的文件/dll/库移动到您的调试文件夹中。确保包含“curl”文件夹。

  2. 转到您的 .pro 文件,并添加“libcurldll.a”文件的位置。例如(我的):

    LIBS += C:\libcurl\7.24.0\lib\libcurldll.a

  3. 享受吧。

谢谢R. Martinho Fernandes

【讨论】:

    【解决方案3】:

    您还必须包含 libcurl 中的 lib/ 文件夹,其中包含 *.a*.dll 文件。这些文件是库本身,是您链接程序的编译二进制文件

    如果您动态链接库,则需要将*.dll 放在您的项目目录、C:\WindowsC:\MinGW\bin 中(如果 C:\MinGW 是编译器路径)。

    【讨论】:

    • 您能否进一步解释一下我会做什么?通过 *.dll,您指的是“libcurl.dll”吗?再次感谢。
    • 是的,libcurl.dll 和您在下载中可能找到的任何其他 dll。您需要提取二进制文件并将其放在操作系统可以找到的地方。为了静态链接 dll,它必须放在 $COMPILER_PATH\lib 中,其中 $COMPILER_PATH 通常是 C:\MinGW 和 C::B
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多