写在前面:虽然qhttp-server编译成功,已生成dll库,但在使用过程中,仍出现无法打开文件: “QtSslServer/QtSslServer”的问题,在多次解决无果后,决定放弃qhttp-server,选择了QWebAPP,望知道的大佬可以帮忙解答一下,感谢~~
一、环境搭建
1、下载及解压源文件
下载QtHttpServer源码,网址:https://github.com/qt-labs/qthttpserver;
下载第三方依赖http-parser源码,网址:https://github.com/nodejs/http-parser;
解压两文件,并复制http-parser-master文件夹下的文件到qthttpserver-master\src\3rdparty\http-parser目录下 。
2、QtCreator 打开qthttpserver-master目录下的qthttpserver.pro
3、 编译sslserver,会发现以下错误,需要把<private/xxx.h>改为“xxx.h”,#include <QtSslServer/qsslserver.h>改为“xxx.h”,编译成功后显示生成Qt5SslServer.lib和Qt5SslServer.dll。
4、编译httpserver,首先注释加载sslserver,加载lib,lib路径根据实际路径加载。
问题一:
编译出错时,把<private/xxx.h>改为“xxx.h”,#include <QtHttpServer/qsslserver.h>改为“xxx.h”,编译成功后显示生成Qt5HttpServer.lib和Qt5HttpServer.dll。
问题二:
无法打开文件: “QtSslServer/QtSslServer”
解决方法:
问题三:
"compare" 不是 "QByteArray" 的成员
解决方法:
问题四:
"isEmpty" 不是 "QLatin1String" 的成员
解决方法:
问题五:
"xxx" 不是 "QFlags" 的成员
解决方法:删除class
编译成功,如下:
参考链接 Qt开发的轻量级http服务器-QtHttpServer编译_敲代码的雪糕的博客-CSDN博客_qt http服务器
【最详细】QtHttpServer编译使用,亲测可用_大陈1108的博客-CSDN博客_qhttpserver
二、使用QtHttpServer
1、将编译好的QhttpServer文件拷贝到Qt对应安装目录下
① 拷贝qthttpserver-master\build\bin下的全部文件放到Qt\5.9.9\msvc2017_64\bin;
② 拷贝qthttpserver-master\src\httpserver目录下的头文件到qthttpserver-master\build\include\QtHttpServer;
拷贝qthttpserver-master\src\sslserver目录下的头文件到qthttpserver-master\build\include\QtSslServer;
把qthttpserver-master\build\include下的QtHttpServer和QtSslServer文件夹拷贝到Qt\5.9.9\msvc2017_64\include;
③ 把下图12个文件拷贝到Qt\5.9.9\msvc2017_64\lib;
④把qthttpserver-master\build\mkspecs\modules-inst下的文件拷贝到Qt\5.9.9\msvc2017_64\mkspecs\modules。
2、pro加上sslserver和httpserver文章来源:https://www.toymoban.com/news/detail-474070.html
文章来源地址https://www.toymoban.com/news/detail-474070.html
到了这里,关于【Qt-4】QT基于qhttp-server搭建http服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!