如何在 C++ 中使用 CPR 库?

Posted

技术标签:

【中文标题】如何在 C++ 中使用 CPR 库?【英文标题】:How to use the CPR library in c++? 【发布时间】:2020-02-10 05:14:08 【问题描述】:

我以前使用 python 进行开发,现在我已经切换到 C++。我找到了一个很酷的库,叫做 CPR https://github.com/whoshuu/cpr,它可以像 python 请求一样轻松地发出 HTTP 请求。就像在 python 中一样,没有像 pip 这样简单的 pkg 管理器来在 C++ 中安装库。如何在我的项目中使用 cpr。里面没有 dll 或 lib 文件。

【问题讨论】:

取决于您如何构建您的 C++ 项目。 cpr 有 CMake 的文档。你用什么? “没有像 pip 这样简单的 pkg 管理器可以在 C++ 中安装库”。这不是真的。有构建系统:CMake,SCons,qmake,bjam,...和包管理器:Conan,Buckaroo,hunter,vcpkg,... 【参考方案1】:

c++ 通常作为一组开发头文件和静态/共享库分发。但是对于cpr,the documentation 建议使用子模块将功能引入您的项目。

由于cpr 使用cmake,我也希望这是可能的(尽管没有记录):

$ git clone https://github.com/whoshuu/cpr.git
$ cd cpr
$ mkdir build && cd build
$ cmake ..
$ make
$ make install

然后cpr 将在您的系统中可用(只要make install 将构建的库和开发头文件复制到系统范围的位置)。在您的项目中,您将能够像这样包含cpr

#include <cpr/cpr.h>

然后像这样构建它:

g++ -std=c++11 -o main -lcpr main.cpp

【讨论】:

我在“cmake ..”之后收到此错误 - make: *** No targets specified and no makefile found.停止。【参考方案2】:

您始终可以尝试旧方法并直接使用头文件。最有可能的是,这一切都归结为“gcc ......”之类的调用,并了解如何为 cpr 组合正确的构建列表,请尝试查看他们的 travis.yml https://github.com/whoshuu/cpr/blob/master/.travis.yml或者他们的 Cmake 调用是如何进行的。

你需要心肺复苏术

【讨论】:

【参考方案3】:

如果你有一个错误,比如 - make: *** 没有指定目标,也没有找到 makefile。停下来。

尝试在 ubuntu 操作系统上运行此命令: sudo apt-get install libssl-dev

我参考了这篇文章: CMake not able to find OpenSSL library

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何在 C++ 中使用 CPR 库?的主要内容,如果未能解决你的问题,请参考以下文章

使用libcurl的包装库cpr发起http请求

如何在 Visual C++ 2010 中使用 C++ 库 [重复]

如何在 c++ 项目中使用 TF Lite 库

如何在 Visual C++ 中使用开源 C 库

使用 cmake 时如何在 C++ 中使用库(*.a 文件)

如何在 C# 应用程序中使用 C++ 库?