前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Win10 下 crow 运行环境搭建

Win10 下 crow 运行环境搭建

原创
作者头像
祥祥
修改2021-01-11 10:35:21
1.8K0
修改2021-01-11 10:35:21
举报
文章被收录于专栏:大写的CPP大写的CPP

Crow 是什么

crow 是一款轻量级 c++ web 框架。它的设计理念类似 python 的 Flask 框架,轻量级,易于使用,快速。

基础环境

WSL2

windows 下做 linux 系统的 c++ 开发,一定要用 WSL2!

WSL 是 windows 环境下的 linux 子系统。WSL1 在 windows 环境下模拟了 linux 的常用命令,而 WSL 2 是在 windows 系统下安装了轻量级虚拟机,运行的是完整的 linux 系统,从兼容性、效率上来说是非常完美的。

安装方式参考:WSL2安装

vscode

介于编辑器和IDE 概念之间的一种开发工具,基本上什么语言都可以用。有丰富的插件。这里需要下载的插件有:

  • c/c++
  • cmake Tools
  • Remote-WSL

进入 WSL2 命令行下,cd 到工作目录,执行 code . 打开 vscode 编辑器,此时 vscode 是 remote 模式。

Boost

我这里的 boost 版本是 1.75.0,跟当前 crow 0.1 的版本有一定兼容性问题,后续会有说明。

linux 下 boost 的安装方式参考:Getting Started on Unix Variants

这里简要说明下安装步骤:

  1. 下载你要安装的 boost 版本的压缩包
  2. 解压
  3. 进入到解压目录,比如 boost_1_75_0
  4. sudo ./bootstrap.sh
  5. sudo ./b2 install

libssl-dev

依赖 ssl 库。

代码语言:javascript
复制
sudo apt-get install libssl-dev

编译项目

在 vscode 下,使用快捷键 shift+ctrl+p 打开命令面板,使用 cmake 开始 build。

运行 helloworld 目标程序:

代码语言:javascript
复制
(2021-01-11 01:45:31) [INFO    ] Crow/0.1 server is running at 0.0.0.0:18080 using 1 threads
(2021-01-11 01:45:31) [INFO    ] Call `app.loglevel(crow::LogLevel::Warning)` to hide Info level logs.

访问根目录:

代码语言:javascript
复制
(2021-01-11 01:46:57) [INFO    ] Request: 127.0.0.1:56742 0x55d8e563f670 HTTP/1.1 GET /
(2021-01-11 01:46:57) [INFO    ] Response: 0x55d8e563f670 / 200 0

Boost 1.70 后的兼容问题

如果 boost 版本大于 1.70,会在 socket_adaptors.h 文件里报 return socket_.get_io_service(); 这一段代码的错。

修改方式参考 pull request

后话

本来直接想在 windows 环境下运行起 crow,但 Windows 下环境不太熟悉,cmake find boost 时候一直报错(现在回想起来应该是因为没有 build boost)。

WSL2 配合 vscode 是真的好用,没必要在原生 windows 环境上折腾。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Crow 是什么
  • 基础环境
  • 编译项目
  • Boost 1.70 后的兼容问题
  • 后话
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档