Crow 编译和环境搭建

Crow与其说是编译,倒不如说是环境搭建。Crow只需要包含头文件,所以不用编译生成lib。

Crow环境搭建

  • boost(可以不编译boost,只需要boost头文件即可)
  • asio (可以不编译,直接包含头文件。不能直接使用boost的asio,boost的asio存在命名空间)
  • zlib (可选)用于web压缩,如果不使用压缩,可以不包含。开启需要定义宏:CROW_ENABLE_COMPRESSION
boost环境可参考:boost 编译
asio环境

下载:https://think-async.com/Asio/

编译:需要依赖boost(可以不编译boost)

  • 打开目录 ,找到Makefile.msc Makefile.mgw 修改BOOSTDIR指向自己的boost目录BOOSTDIR = C:\\Boost\\include\\boost_1_73
  • 打开VS命令行工具,执行nmake -f Makefile.msc编译完成
Hellow Word
  • 1.包含Crow头文件,boost头文件,asio头文件
    在这里插入图片描述

  • 2 开始使用Crow

crow::SimpleApp app;CROW_ROUTE(app, "/123")([&](crow::request& req, crow::response &resp) {resp.body = "123";resp.end();});app.port(18080).multithreaded().run();         
扩展:Crow加载静态资源

将静态资源放在运行目录statics,此时通过web访问http://127.0.0.1:18080/statics/index.html,将自动加载网页所需要的cs,js,png等资源。

 //处理所有未被处理的路径CROW_CATCHALL_ROUTE(app)([&](const crow::request& req, crow::response& resp) {//如果访问path以/statics/开始,if (_strnicmp(req.url.c_str(), "/statics/", 9) == 0){//拼接静态文件路径,不要以绝对路径,内部会处理:保证web服务的安全std::string path = req.url.substr(9);std::string file_path = std::string("statics/") + path;if (_access(file_path.c_str(), 00) == 0){resp.set_static_file_info(file_path);resp.code = crow::status::OK;resp.end();}}});

结果展示:
在这里插入图片描述

强烈建议hv(不支持压缩),一句代码搞定
HttpService router;
// statics为urlpath
// smart-yi-ui为当前服务静态资源所在目录
router.Static("/statics", "smart-yi-ui");

http://127.0.0.1:18080/statics/index.html

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ethersacn的交易数据是什么样的(2)

分析 Raw Transanction RLP(Recursive Length Prefix)是一种以太坊中用于序列化数据的编码方式。它被用于将各种数据结构转换为二进制格式,以便在以太坊中传输和存储。RLP 是一种递归的编码方式,允许对复杂的数据结构进行编码。所…

typeorm-入门

简述 typeorm是一个数据库orm框架,在nestjs官网中有提到,可以充分发挥利用typescript的特性,当然也支持js其中涉及的概念包括 DataSource 数据源,Connection 连接数据库Entity 实体,实体类映射数据库表Relation 关系…

redis实现分布式全局唯一id

目录 一、前言二、如何通过Redis设计一个分布式全局唯一ID生成工具2.1 使用 Redis 计数器实现2.2 使用 Redis Hash结构实现 三、通过代码实现分布式全局唯一ID工具3.1 导入依赖配置3.2 配置yml文件3.3 序列化配置3.4 编写获取工具3.5 测试获取工具 四、运行结果 一、前言 在很…

安康杯安全知识竞赛上的讲话稿

各位领导、同志们: 经过近半个月时间的准备,南五十家子镇平泉首届安康杯安全生产知识竞赛初赛在今天圆满落下帏幕,经过紧张激烈的角逐, 代表队、 代表队和 代表队分别获得本次竞赛的第一、二、三名让我们以热烈的掌声表示祝…

LLM PreTraining from scratch -- 大模型从头开始预训练指北

最近做了一些大模型训练相关的训练相关的技术储备,在内部平台上完成了多机多卡的llm 预训练的尝试,具体的过程大致如下: 数据准备: 大语言模型的训练依赖于与之匹配的语料数据,在开源社区有一群人在自发的整理高质量的…

读《文明之光》第1册总结

人类几千年的文明史和地球的历史相比,实在是太短暂了,大约相当于几分钟和一年的关系。人类已经走过的路,相比今后要走的漫漫长路,只能算是刚刚起步。如果跳出一个个具体事件,站在历史的高度去看,我们会发现…

前端实现一个绕圆心转动的功能

得知了转换关系,我们就可以定义一个变量 angle 来表示我们这个 div 做圆周运动时绕圆心转过的角度,则弧度(radian) 为 radian (angle*π)/180 我们先在草稿纸上演练一遍我们的逻辑是否可行。让我们先准备一…

货运物流小程序开发功能 发货运输更简单

随着互联网的快速发展,线上接单已经成为物流行业的主流趋势。货运物流接单小程序作为物流企业的得力助手,能够提高运输效率、降低成本、提升服务质量,成为物流行业的发展新方向。 1. 用户注册与登录功能:用户可以通过手机号、邮箱…

光谱下的养殖业:数据可视化的现代变革

在数字化时代,数据可视化在养殖业中崭露头角,为这一传统行业注入了新的活力。无论是家禽养殖还是水产养殖,数据可视化都以其直观、高效的特点,为养殖业带来了全新的发展机遇。下面我就以可视化从业者的角度,简单聊聊这…

华为od机试C卷-开源项目热度榜单

1、题目描述 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。 对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、issue…

【自然语言处理六-最重要的模型-transformer-上】

自然语言处理六-最重要的模型-transformer-上 什么是transformer模型transformer 模型在自然语言处理领域的应用transformer 架构encoderinput处理部分(词嵌入和postional encoding)attention部分addNorm Feedforward & add && NormFeedforw…

数睿通2.0数据接入升级——支持增量字段同步,表单独映射

引言 上次数睿通 2.0 更新是在 23 年12 月 底,已经过去了接近三个月的时间,中间由于过年加上年前年后实在是工作繁忙,所以一直没有腾出空来更新代码,希望大家可以理解,平台的发展离不开你们的支持,在此表示…

2021年PAT--春

Arithmetic Progression of Primes In mathematics, an arithmetic progression (AP,等差数列) is a sequence of numbers such that the difference between the consecutive terms is constant. In 2004, Terence Tao (陶哲轩) and Ben Green proved that for an…

sql server使用逗号,分隔保存多个id的一些查询保存

方案一,前后不附加逗号: 方案二,前后附加逗号: 其他保存方案: (这里是我做一个程序的商家日期规则搞得,后面再补具体操作): 1,2,3 | 1,2,3 | 1,2,3; 1,2,3 &#xff1…

奖励建模(Reward Modeling)实现人类对智能体的反馈

奖励建模(Reward Modeling)是强化学习中的一个重要概念和技术,它主要用于训练智能体(如AI机器人或大型语言模型)如何更有效地学习和遵循人类期望的行为。在强化学习环境中,智能体通过尝试不同的行为获得环境…

S4---FPGA-K7板级原理图硬件实战

视频链接 FPGA-K7板级系统硬件实战01_哔哩哔哩_bilibili FPGA-K7板级原理图硬件实战 基于XC7K325TFFG900的FPGA硬件实战框图 基于XILINX 的KINTEX-7 芯片XC7K325FPGA的硬件平台,FPGA 开发板挂载了4 片512MB 的高速DDR3 SDRAM 芯片,另外板上带有一个SODIM…

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清(1080p/4M/5M/4K)DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎,支持多种智能算法应用。同时,Hi352…

UE4升级UE5 蓝图节点变更汇总(4.26/27-5.2/5.3)

一、删除部分 Ploygon Editing删除 Polygon Editing这个在4.26、4.27中的插件,在5.1后彻底失效。 相关的蓝图,如编辑器蓝图 Generate mapping UVs等,均失效。 如需相关功能,请改成Dynamic Mesh下的方法。 GetSupportedClass删…

【c语言】算法1.1:二分查找

目录 题目 算法步骤&#xff08;没带数位板&#xff0c;希望没有丑到您的眼睛&#xff09; 代码 题目 算法步骤&#xff08;没带数位板&#xff0c;希望没有丑到您的眼睛&#xff09; 代码 #include <stdio.h> int main() {int num[4]{1,3,5,6};int t;scanf("%d&…

FPGA FIFO 读取模式

FPGA FIFO 读取模式分两种&#xff1a; Normal Mode: In normal mode, the “rdreq” signal serves as the read request or read enable. When this signal goes high, the data output provides the first data from the FIFO.Essentially, in normal mode, data is availa…