当前位置: 首页 > news >正文

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

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>即可,不用关心环境不同,路径不一样的问题。

相关文章:

  • CC攻击和DDOS攻击的区别有哪些?
  • [单master节点k8s部署]22.构建EFK日志收集平台(一)
  • 河南人社厅:注册满两年可按条件认定副高
  • 【Python报错已解决】TypeError: object of type ‘complex‘ has no len()
  • 红绿灯倒计时读秒数字识别系统源码分享
  • VisualGLM-6B——原理与部署
  • 【题解】Codeforces Round 975 (Div. 2) A~E
  • ENV | VUE3 的安装使用并跑通第一个项目(高效实操版)
  • CSDN 账号已经恢复,后续可能会把专栏内容整理成纸质书出版
  • wordpress Contact form 7发件人邮箱设置
  • navate 清理注册列表
  • VS Code、Git与自动化脚本的效能之旅
  • 与大勇谈修复bug的感想
  • 技术速递|Python in Visual Studio Code 2024年9月发布
  • Tomcat系列漏洞复现
  • .pyc 想到的一些问题
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • docker-consul
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Git的一些常用操作
  • Hibernate最全面试题
  • Java 最常见的 200+ 面试题:面试必备
  • jdbc就是这么简单
  • jQuery(一)
  • mysql_config not found
  • MySQL几个简单SQL的优化
  • Quartz初级教程
  • spring boot 整合mybatis 无法输出sql的问题
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 诡异!React stopPropagation失灵
  • 后端_ThinkPHP5
  • 近期前端发展计划
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 思维导图—你不知道的JavaScript中卷
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在weex里面使用chart图表
  • ionic异常记录
  • 函数计算新功能-----支持C#函数
  • ​2020 年大前端技术趋势解读
  • ​补​充​经​纬​恒​润​一​面​
  • # Apache SeaTunnel 究竟是什么?
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • (70min)字节暑假实习二面(已挂)
  • (黑马C++)L06 重载与继承
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (循环依赖问题)学习spring的第九天
  • (一)80c52学习之旅-起始篇
  • (转)Google的Objective-C编码规范
  • (自用)网络编程
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .gitignore文件设置了忽略但不生效
  • .Net--CLS,CTS,CLI,BCL,FCL