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 下载相关配置环境。

相关文章
|
5月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
526 3
|
4月前
|
JavaScript API
Qt HTTP和HttpServer
Qt HTTP和HttpServer
180 1
|
5月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
181 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
4月前
|
API 开发工具 C语言
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
248 0
|
6月前
|
存储 编解码 Ubuntu
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
|
6月前
Cmake构建Qt项目链接glog库
Cmake构建Qt项目链接glog库
|
7月前
|
编解码
qt中使用dll库的方法
qt中使用dll库的方法
109 2
|
7月前
|
存储
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
401 0
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
|
7月前
|
编译器
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
245 0
|
7月前
|
XML 网络安全 数据库
【Qt 安装】安装Qt源码所需的前置库
【Qt 安装】安装Qt源码所需的前置库
94 0