出现此错误是使用了Qt的https请求,但QtNetwork库本身不集成openssl,需要依赖单独的openssl库。
1、使用Qt版本大于5.12.4
如果你的Qt版本在Qt5.12.4之后,事情就比较方便。据查Qt5.12.4之后使用启用1.1.x,名称为libcrypto-1_1.dll 和libssl-1_1.dll。
在openssl安装网站,下载win32或64文件,安装后拷贝上面两个库到执行目录下即可。
2、使用Qt版小于5.12.4
如果你的Qt版本在Qt5.12.4之前,且你的软件只需要win32的库,可以直接在qt安装目录Tools/QtCreator/bin下寻找libeay32.dll和ssleay32.dll,这是上面两个ssl库的前身。
如果你还需要64位的库,可以去官网下载源码编译。或在这里直接下载库。
只要是OpenSSL 1.0.x应该都是可以的,小版本不受影响。QSslSocket::sslLibraryVersionString();查看当前OpenSSl版本,version为空就是没有加载openssl库。
本文参考:
2、Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib