【Linux】cpp-httplib库

news2025/6/15 5:24:30

目录

升级gcc版本

下载cpp-httplib的zip安装包,上传到服务器

​编辑 简单使用


首先打开gittee,搜索cpp-httplib,选择其中一个即可

也可以点下方链接 

cpp-httplib库:cpp-httplib: cpp-httplib (gitee.com)

注意:cpp-httplib在使用的时候需要使用较新版本的gcc,centos 7默认gcc 4.8.5

通过如下命令查看gcc版本

[root@iZbp1f6xfzvrfki6wwxqjvZ ~]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

 用老的编译器,要么编译不通过,要么直接拿报错,如果需要升级gcc版本,可按照如下步骤:


升级gcc版本

1)安装scl源

yum install centos-release-scl scl-utils-build

2) 安装7版本的gcc

yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++ 

3)查看安装结果

[root@iZbp1f6xfzvrfki6wwxqjvZ ~]# ls /opt/rh/devtoolset-7/
enable  root 

 4)启动,细节,命令行启动只能在本会话有效

scl enable devtoolset-7 bash

//因此如果要使它每次都生效,将上述指令添加进如下文件,这样每次启动的时候,都会执行这个scl命令,如此每次登录的时候,都是较新的gcc

vim ~/.bash_profile

下载cpp-httplib的zip安装包,上传到服务器

最新的cpp-httplb在使用的时候,如果gcc不是特别新的话就有可能会有运行时错误的问题

建议:cpp-httplib 0.7.15

1)选择标签

2)选择0.7.15版本

 3)开始下载

4)传送到linux系统上 

5)对该压缩包进行解压 

unzip cpp-httplib-v0.7.15.zip 

后续我们主要使用httplib.h这个库 

 简单使用

 #include "cpp-httplib/httplib.h"    
      
  int main()    
  {    
    httplib::Server svr;    
    //10.101.101.1/hi    
    svr.Get("/hi",[](const httplib::Request &req,httplib::Response &resp){    
       resp.set_content("hello world!","text/plain; charset=utf-8");    
       });    
    svr.listen("0.0.0.0",8082);                                                                                                        
    return 0;    
  }    
  

验证是否运行

netstat -ntlp 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1503996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

300分钟吃透分布式缓存-24讲:Redis崩溃后,如何进行数据恢复的?

Redis 持久化是一个将内存数据转储到磁盘的过程。Redis 目前支持 RDB、AOF,以及混合存储三种模式。 RDB Redis 的 RDB 持久化是以快照的方式将内存数据存储到磁盘。在需要进行 RDB 持久化时,Redis 会将内存中的所有数据以二进制的格式落地,每…

VBA更新xlOLELinks链接的值

xlOLELinks是在Excel文档中插入对象的链接,该链接能够显示被插入文档的数据,通常情况下链接的数值会自动更新,但有时更新也会不及时或失效,这时就需要手动更新,如下图: 以插入Word文档为例,使用…

力扣刷题Days14第二题--80删除数组中重复元素||(js)

目录 1,题目-中等 2,代码 双指针 3,学习与总结 思路学习与整理 1,题目-中等 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组…

这是谁的女儿?其母亲早已红过头了,现在小小年纪的她也爆红网络,没想到吧?

这是谁的女儿?其母亲早已红过头了,现在小小年纪的她也爆红网络,没想到吧? 原来,作母亲的她在红极一时后似乎沉寂了下来,没想到她11岁的女儿近年来也在社交媒体上走红,她为何也成了小网红呢&…

Python实现滚动加权最小二乘法回归模型(RollingWLS算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 滚动加权最小二乘法回归模型(Rolling Weighted Least Squares, RollingWLS)是一…

vscode 格式化prettier失败出现一大堆错误

如题,使用vscode开发项目时候,会自动进行格式化【安装prettier插件】 但是有时候会出现格式化失败的情况,如果插件安装正确,则可能是代码出现了格式问题。

mysql-视图,创建表,存储过程,循环,判断实操命令

数据库操作命令在IDEA工具database的console命令 数据库表结构与视图 事务隔离级别RR(REPEATABLE-READ)解决不可重复读演示 mysql-RR隔离级别 -- 查询隔离级别 select transaction_isolation;-- 设置隔离级别 set session transaction isolation level …

常见BUG如何在测试过程中分析定位

前言 在测试的日常工作中,相信经常有测试的小伙伴遇到类似的情况:在项目上线时,只要出现问题(bug),就很容易成为“背锅侠”。 软件测试人员在工作中是无法避免的要和开发人员和产品经理打交道的&#xff…

鸿蒙原生应用元服务开发-WebGL网页图形库开发概述

WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScr…

代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集

动态规划:01背包理论基础 文章讲解:代码随想录(programmercarl.com) 视频讲解:带你学透0-1背包问题!_哔哩哔哩_bilibili 动态规划:01背包理论基础(滚动数组) 文章讲解:代码随想录(…

openJDK17官方镜像报Error loading shared library libfreetype.so

新项目使用openJDK17做的,做完后打包成docker镜像到服务器上运行 docker镜像基础镜像用的是openjdk:17-jdk-alpine 运行后加载验证码的时候报:Error loading shared library libfreetype.so 搜了一圈没找到哪里有共用的带字体库的jdk17镜像&#xff0…

【web | CTF】BUUCTF [强网杯 2019]随便注

天命:这题考点有两个,第一个是闭合,第二个是叠堆注入 先探测一下是不是单引号闭合,其实我一开始以为是没有引号闭合的,毕竟是数字 经过测试,的确是单引号闭合 然后探测未知的东西,我习惯性直接…

Mybaties-Plus saveBatch()、自定义批量插入、多线程批量插入性能测试和对比

一.背景 最近在做一个项目的时候,由于涉及到需要将一个系统的基础数据全量同步到另外一个系统中去,结果一看,基础数据有十几万条,作为小白的我,使用单元测试,写了一段代码,直接采用了MP(Mybati…

Java新特性

本文重点分析Java12到Java17在性能方面和云计算方面取得的进展 Java 7,8,11. 17以及还未发布的Java 21均是LTS(Long Term Support)版本,Oracle提供5年的维护周期,以及3年的付费额外支持,一共8年…

ULTRAL SCALE FPGA TRANSCEIVER速率

CPLL支持2-6.25速率 QPLL支持速率 实际使用CPLL最高可以超过这个,QPLL最低也可以低于这个,xilinx留的阈量还是比较大。

5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型

5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型。纺织工业作为传统制造业的重要组成部分,面临着转型升级的紧迫需求。随着5G技术的快速发展,智能制造成为纺织工业转型升级的重要方向。数字孪生可视化平台作为智能制造的核心技…

Python快速入门系列-2(Python基础语法)

第三章:Python基础语法 3.1 变量与数据类型3.1.1 变量的定义与赋值3.1.2 数据类型3.1.3 类型转换 3.2 注释与缩进3.2.1 注释3.2.2 缩进 3.3 条件语句与循环结构3.3.1 条件语句3.3.2 循环结构 3.4 函数与模块3.4.1 函数3.4.2 参数和返回值3.4.3 模块3.4.4 标准库中的…

基于springboot+vue实现物资仓储物流管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现物资仓储物流管理系统演示 摘要 随着我国经济及产业化结构的持续升级,越来越多的企业借助信息化及互联网平台实现了技术的创新以及竞争力的提升,在电子经济的影响下仓储物流业务也获得了更多的关注度,利用系统平台实现…

KubeSphere4.0企业版

一、介绍 简要介绍 在 KubeSphere 企业版 v4.0 中,推出了全新的 KubeSphere 架构:KubeSphere LuBan,它构建在 ​​Kubernetes​​ 之上,支持高度可配置和可扩展。KubeSphere LuBan,是一个分布式的云原生可扩展开放架…

分享关于如何解决系统设计问题的逐步框架

公司广泛采用系统设计面试,因为在这些面试中测试的沟通和解决问题的技能与软件工程师日常工作所需的技能相似。面试官的评估基于她如何分析一个模糊的问题以及如何逐步解决问题。测试的能力还包括她如何解释这个想法,与他人讨论,以及评估和优…