解决打包利用 Qt 创作的项目后无法请求 HTTP 的问题
- 问题描述
比如:程序中有通过请求
HTTP
访问天气的模块,在Qt
中调试、运行等都没有问题,但是当打包后,再执行的话,会发现此时HTTP
请求已经不能再工作了。
- 问题解析
我们在
Qt
中发送HTTP
请求的时候,此时Qt
的环境是需要Openssl
支持的,于是在打包后再运行也同样需要Openssl
的支持,那么这个问题的出现就是由于缺少Openssl
的支持。
- 解决办法
- 打开
Openssl
的安装路径,进入到bin
文件夹内;- 找到以下三个文件:(1)
libcrypto-1_1-x64.dll
;(2)libssl-1_1-x64.dll
;(3)openssl.exe
- 将它们复制到打包后的根目录下;
- 再次运行,发现
HTTP
请求可以继续工作了!!!
![](https://i-blog.csdnimg.cn/blog_migrate/f109bd4fc2d3537229186df076b509e4.png)
注:你们环境下的三个文件名可能和我的不一样,到时候根据具体情况再做选择。
![](https://i-blog.csdnimg.cn/blog_migrate/8d33718318abbb51c8ba745461dd1f4f.png)