在 C++ 应用程序中使用 libcurl

Using libcurl in C++ application

我是 C++ 的新手,但我很难弄清楚如何将 libcurl 与 C++ 程序一起使用。

A) 我应该为服务器安装带有 apt-get 的 libcurl 还是将其安装为 C 中的某种库?

B) 对 libcurl 使用 c++ 绑定有什么意义,我不能在没有绑定的情况下直接使用它吗? https://github.com/JosephP91/curlcpp

抱歉,如果这很明显。

A) 您必须在您的 SO 中安装该库。否则你不能在程序中 link 它。

B) 第 1 部分:libcurl 的 c++ 绑定要点,允许您这样做:

#include "curl_easy.h"

不然不让你做,不用自己实现curl_easy.h,记住它只有Capi接口(采取通过 libcurl 的主页),它允许您使用它,因为它是 C 但不是在本机模式下。 B) 第 2 部分:可以,但是您需要使用 C 版本的 libcurl。不是你叫的C++版本

您需要一个图书馆才能link。不太确定 apt-get 是否提供,但检查项目网站可能会找到一个下载 link。或者,您可以从源代码构建库。

至于 C++ 包装器,您是正确的,因为您不需要它。它可能是为了保持面向对象而编写的,也许是为了增加一些便利。否则你可以毫无问题地使用旧的 C 方式。

出于商品的考虑,使用 apt-get/yum 或您在 OS 中使用的安装系统总是更容易安装。

A) 在我公司,我们将它编译在一个文件夹中。在我家里,我通常从官方存储库安装它,我发现它更容易,但这取决于你是否想分发你的产品并保持你的代码固定在一个版本上。

B) 这总是由你决定,我通常直接使用它,我准备自己的事件系统(kqueue/epoll 或使用 libuv/libev/libevent/asio),并分配回调。