前言:
考虑到本月要发布Qt6.3和ubuntu22.04,笔者决定暂不测试Qt6.2已编译的库,继续研究下Cutelyst相关的东西
一、创建CUTELYST项目
找一个空白目录,注意不能有中文或空格,执行如下命令
#windows下执行
cutelyst3-qt5.exe --create-app hello
#linux下执行
cutelyst3-qt5 --create-app hello
二、修改源码并编译
使用QtCreator打开并配置工程,
在root.h中,加入如下公有函数
C_ATTR(hello, :Global :AutoArgs)
void hello(Context *c);
在root.cpp中,添加实现
void Root::hello(Context *c)
{
c->response()->body() = "Hello, World!";
}
添加完成后,直接编译,可以得到生成的动态库
windows下是hello.dll
linux下是libhello.so
二、运行新的动态库
设置好环境变量,执行如下命令
#windows下执行
cutelyst3-qt5.exe --server --app-file src/hello -- --chdir ..
#linux下执行
cutelyst3-qt5 -r --server --app-file src/hello -- --chdir ..
#--app-file 后的参数是应用程序(dll库)的位置,请读者自行修改
#注:可以省略dll扩展名
注:可以省略应用程序后缀,如.so, .dll, .dylib,因为它会自动查找带有适当后缀的文件。
windows下输出结果如下
linux下输出结果如下
打开本地浏览器,输入 http://localhost:3000,显示如下
打开本地浏览器,输入 http://localhost:3000/hello,显示如下
至此,本次测试完成
本次测试示例源码下载
后记
windows和linux使用一套源码,只是简单增加了新的url映射,下一篇继续探究