Centos7系统安装使用Pistache框架(避坑指南)

Pistache 是一个现代且优雅的 C++ HTTP 和 REST 框架。它完全用纯 C++17 *编写,并提供清晰且令人愉快的 API。

安装pistahce前需先安装相关依赖:

1.安装openssl

sudo yum install openssl openssl-devel

2.安装rapidjson

  • 克隆RapidJSON的源代码:git clone https://github.com/Tencent/rapidjson.git
  • 进入rapidjson目录,创建一个build目录并进入该目录:
    cd rapidjson
    mkdir build
    cd build

  • 在build目录中运行以下命令:
    make -DCMAKE_CXX_FLAGS="-Wno-error=effc++" ..
    
    make

    这些命令将会使用CMake生成构建文件,并使用make命令进行编译。编译完成后,您可以在bin目录下找到编译后的测试和示例可执行文件。

3.安装libcurl

meson依赖libcurl 需提前安装:sudo yum install libcurl-devel

4.安装meson

        使用pip3命令:pip3 install --user meson

5.安装ninja

pip3 install ninja

6.安装python3.9

参考:CentOS 7升级Python到最新版3.9.1_centos7 升级python_zhangphil的博客-CSDN博客

建议安装3.7以上版本,不然会提示:

不过我3.6好像也可以

7.g++切换到devtoolset-11

参考:https://blog.csdn.net/liuhongxiangm/article/details/124129742

8.安装peitache

参考:https://github.com/pistacheio/pistache#building-from-source

$ cd pistache
$ meson setup build \
    --buildtype=release \
    -DPISTACHE_USE_SSL=true \
    -DPISTACHE_BUILD_EXAMPLES=true \
    -DPISTACHE_BUILD_TESTS=true \
    -DPISTACHE_BUILD_DOCS=false \
    --prefix="$PWD/prefix"
$ meson compile -C build
$ meson install -C build

9.测试代码

#include <pistache/endpoint.h>

using namespace Pistache;

struct HelloHandler : public Http::Handler {
  HTTP_PROTOTYPE(HelloHandler)
  void onRequest(const Http::Request&, Http::ResponseWriter writer) override {
    writer.send(Http::Code::Ok, "Hello, World!");
  }
};

10.编译

g++ -std=c++17 -O2 -Wall -Wextra -o my_server myServer.cpp -L/home/caiweibin/pistache/build/src/ -lpistache -lpthread

如果把库文件libpistache.so拷贝到/usr/local/bin目录下的话就可以不指定路径

11.运行

export LD_LIBRARY_PATH=/home/caiweibin/pistache/build/src/

./my_server

12.生成的库文件拷贝到/usr/local/lib文件夹下、创建软连接

cp ./build/src/libpistache.so.0.1.1 /usr/local/lib

cd /usr/local/lib

ln -s libpistache.so.0.1.1 libpistache.so

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值