Qt: 一个适用于Qt的httpserver 开源库介绍

简介: Qt: 一个适用于Qt的httpserver 开源库介绍

Tufao 介绍


Tufao 是在Qt 之上构建的 C++异步Web框架。项目地址来源于github(https://github.com/vinipsmaker/tufao)利用Qt 的对象通信系统(信号与槽机制),可以快速的迁移到Qt中。具有以下特点:


  • 高性能独立服务器


  • 跨平台支持


  • HTTP 支持


  • HTTPS 支持


  • 灵活请求路由器


  • 静态文件服务器


  • 灵活安全的会话支持


  • 支持QtCreator 可以快速创建新的应用程序


  • 超时支持


  • C++ 11


安装部署


目前官网最新版本在1.4.5。注意从1.4.0开始,tufao引入第三方库使用boost.http进行解析。故下载最新源码前需提前安装配置boost库.本文以1.3.10源码为例,介绍如何安装部署tufao到自己的项目中。最新版本编译及解决方法下篇文章介绍。


准备环境


windwos 10 64位Qt 5.8.0 MinGw 32


下载源码


访问如图所示github链接,找到如图所示1.3.10版本源码,下载下来。也可以从后台回复 tufao-1.3.10 下载


image.png


下载CMake


安装Cmake,并设置环境变量。官网地址 https://cmake.org/download/


设置好环境变量


  • C:\Qt\Qt5.8.0\5.8\mingw53_32\bin


  • C:\Qt\Qt5.8.0\Tools\mingw530_32\bin


  • C:\Program Files\CMake\bin


配置Cmake编译环境


  • 解压tufao-1.3.10 源码,并在里面创建一个build目录,目录下创建debug/release目录


image.png

image.png


  • 配置Cmake


image.png


如果报错,请检查如下配置4


image.png


  • tufao编译配置


  • 编译类型


image.png


  • 安装路径


image.png


  • 点击Configure 和 Generate


image.png


编译和安装tufao


  • 打开Qt 5.8 for Desktop (MinGw 5.3.0 32 bit)


image.png


  • cd 先前配置的debug目录下。(cd C:\OpenSource\tufao-1.3.10\build\debug)


image.png


  • mingw32-make


image.png


  • mingw32-make install


image.png


安装过程注意做了两件事:将include 和 lib复制到 out目录下;将 C:\OpenSource\tufao-1.3.10\build\debug\pkg\tufao1.prf 复制到C:/Qt/Qt5.8.0/5.8/mingw53_32/mkspecs/features/tufao1.prf 下;可以看到prf里面自动帮我们链接的tufao1库。


/*tufao1.prf*/
QT += network
DEFINES += TUFAO_VERSION_MAJOR=1
INCLUDEPATH += "C:/OpenSource/tufao-1.3.10/build/out/include/tufao-1"
win32 {
       CONFIG(debug, debug|release): LIBS += -L"C:/OpenSource/tufao-1.3.10/build/out/lib"-ltufao1d
       CONFIG(release, debug|release): LIBS += -L"C:/OpenSource/tufao-1.3.10/build/out/lib"-ltufao1
} else{
       LIBS += -L"C:/OpenSource/tufao-1.3.10/build/out/lib"-ltufao1
}


使用


只需要在pro文件加入 CONFIG+= C++11 TUFAO1即可


image.png


测试


打开 C:\OpenSource\tufao-1.3.10\examples\qmake\hello-world 工程,运行应用程序,并使用postman发送get请求。测试结果如下。


image.png

image.png


最后


感谢 vinipsmaker 提供的开源库,本文介绍内容仅作学习参考,不作它图,如需相关源码请前往原作者github取,或者后台回复 tufao-1.3.10 下载相关配置环境。

相关文章
|
28天前
|
编解码
qt中使用dll库的方法
qt中使用dll库的方法
15 2
|
28天前
|
存储
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
|
1月前
|
算法 API C++
Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
142 0
|
4月前
|
存储 JSON JavaScript
[Qt5] QJson库进行存储、加载数据
[Qt5] QJson库进行存储、加载数据
21 0
|
4月前
|
C++
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(二)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
45 0
|
4月前
|
算法 关系型数据库 编译器
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(一)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
71 0
|
6月前
|
编译器 Linux
嵌入式 QT usb camera库驱动摄像头
嵌入式 QT usb camera库驱动摄像头
|
8月前
|
JSON C++ 数据格式
如何通过CMake将Qt库引入C++项目
如何通过CMake将Qt库引入C++项目
253 0
|
8月前
|
XML 数据管理 编译器
Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。
|
8月前
|
存储 算法 安全
QT5模板库、工具类及控件
标准C++提供了两种字符串,一种是C语言风格的以“\0”字符结尾的字符数 组,另一种是字符串类string。而Qt字符串类QString功能更强大。
90 0

推荐镜像

更多