【问题标题】:How to use the CPR library in c++?如何在 C++ 中使用 CPR 库?
【发布时间】: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,...

标签: python c++ http c++14


【解决方案1】:

c++ 通常作为一组开发头文件和静态/共享库分发。但是对于cprthe 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
    猜你喜欢
    • 2020-02-24
    • 2022-10-19
    • 2021-11-03
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多