首页 > 其他分享 >CMake构建学习笔记18-cpp-httplib库的构建

CMake构建学习笔记18-cpp-httplib库的构建

时间:2024-09-28 15:11:51浏览次数:4  
标签:httplib CMake -- 构建 cpp 头文件

cpp-httplib库是笔者认为的一个比较好用的基于C++的Http服务器组件,与Eigen一样,它也是基于头文件的库,我们只需要引入httplib.h这个头文件进行来就实现所有基于http/https协议的功能,非常适合初学者进行使用。

尽管是头文件,还是可以使用CMake进行构建,便于统一管理,关键脚本如下:

# 配置CMake  
cmake $SourceLocalPath `
    -B "$BuildDir" `
    -G "$Generator" `
    -A x64 `
    -DCMAKE_BUILD_TYPE=RelWithDebInfo `
    -DCMAKE_PREFIX_PATH="$InstallDir" `
    -DCMAKE_INSTALL_PREFIX="$InstallDir" `
   
# 构建阶段,指定构建类型
cmake --build $BuildDir --config RelWithDebInfo

# 安装阶段,指定构建类型和安装目标
cmake --build $BuildDir --config RelWithDebInfo --target install

复习一下前面引入依赖库的知识,安装完成后要引入cpp-httplib,在CMakeList.txt中的写法是:

# ...

find_package(httplib REQUIRED) 

# ...

target_link_libraries(${PROJECT_NAME} PRIVATE httplib::httplib)

这是目前CMake比较推荐的基于目标链接的引入依赖库的方式。使用的时候只需要include<httplib.h>即可,不用关心环境不同,路径不一样的问题。

标签:httplib,CMake,--,构建,cpp,头文件
From: https://www.cnblogs.com/charlee44/p/18437992

相关文章

  • 开源链动2+1模式AI智能名片小程序源码:放大特色,构建独特竞争力
    摘要:本文探讨在当今社会背景下,开源链动2+1模式AI智能名片小程序源码如何通过坚持与众不同来构建独特竞争力。在信息传播便捷但个体易同质化的时代,拥有特色是脱颖而出的关键,而这种模式下的小程序源码具有独特的发展潜力。一、引言当今社会,一方面互联网使信息传播便捷高效,另一......
  • 开源AI智能名片小程序源码:私域电商构建独特竞争力的新机遇
    摘要:本文旨在探讨私域电商如何利用开源AI智能名片小程序源码构建独特竞争力。在强调独特性是通向成功的必要条件的基础上,分析开源AI智能名片小程序源码在私域电商发展独特性方面的作用及相关策略。一、引言在竞争激烈的商业环境中,让自己变得独特是通向成功的关键因素。对于......
  • docker:镜像构建、仓库、压缩、导入 二
    docker:镜像构建、仓库、压缩、导入二构建镜像:(无需网络)dockercommit-m="描述"-a="作者"容器id镜像名:版本号镜像仓库与推送镜像到仓库dockerpush镜像名:[tags]压缩镜像:dockersave镜像名:版本号#更推荐:dockersavexxx:yyy|gzip-9>zzzzz.tar.gz导入镜像:......
  • 构建读写分离的数据库集群
    三、构建读写分离的数据库集群1、案例目标(1)了解Mycat提供的读写分离功能。(2)了解MySQL数据库的主从架构。(3)构建以Mycat为中间件的读写分离数据库集群。2、案例分析读写分离的基本原理:让主数据库处理事务性增、改、删除操作,而从库处理查询操作2.1准备三台虚拟机设置如下:......
  • 直播回放丨课后提问!构建专属自己的企业知识应用总共分几步?
    在近期圆满落幕的VLDB2024LLM+KG研讨会上,悦数GenAI的负责人古思为精彩呈现了《将生成式AI与图数据库结合:来自悦数的创新与见解》主题演讲,正式揭晓了基于悦数2023年8月率先提出的GraphRAG理念精心打造的企业知识管理应用——悦数RAG。为了让更多用户深入理解Graph......
  • GBase数据库支撑湖南联通构建高效融合大数据平台
    项目背景湖南联通通过建设大数据平台实现服务对外开放,为内外部开发者提供数据组装,运用大数据平台分析能力,从服务器中的海量数据中提取行业、企业感兴趣的内容,实现对湖南联通全网用户数据的整合、分析和输出,在确保数据信息安全保密的前提下,向公安、交通、旅游、政府等行业提供各类数......
  • 非递归快速构建树-注解版
    importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.ObjectMapper;importjava.lang.reflect.Field;importjava.util.ArrayList;importjava.util.LinkedHashMap;importjava.util.List;importjava.util.Map;/**......
  • 从‘盲管’到‘智网’,精准构建排水管网监测方案
    在城市错综复杂的基础设施网络中,排水管网作为城市的“血脉”,其高效、稳定运行直接关系到城市生活的安宁与财产的安全。面对日益频繁的雨季挑战与气候变化的不确定性,传统“盲管”管理模式已难以满足现代城市治理的需求。排水管网监测方案通过集成高精度传感器与低功耗远程采集终端,实......
  • 手把手教你在Linux上构建Electron
    开发electron最大的特点就是可以使用web技术来开发跨平台应用,大部分开发都是在windows/mac上开发的electron应用,我使用的是electorn-builder来构建应用,官网提供支持在windows上使用docker来实现Linux版本的构建。可以直接在Linux服务器上完成构建:构建Linux环境的electron......
  • 旭升集团携手纷享销客,构建全方位客户关系管理平台
    宁波旭升集团股份有限公司(以下简称“旭升集团”)自2003年成立,总部位于中国宁波,集团设有压铸、锻造、挤压、集成四大事业部,在亚洲、欧洲、美洲等地均设立研发中心及制造基地,产品主要覆盖新能源汽车的电驱动系统、电控系统、电池系统、底盘悬挂系统及高性能车身系统等。凭借领先的制......