欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Win10 乌鸦环境设置

最编程 2024-04-25 19:49:21
...

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 库。

sudo apt-get install libssl-dev

编译项目

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

运行 helloworld 目标程序:

(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.

访问根目录:

(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 环境上折腾。

推荐阅读