首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QSslSocket错误

QSslSocket错误
EN

Stack Overflow用户
提问于 2012-07-19 00:59:49
回答 1查看 688关注 0票数 1

在Windows7旗舰版x64上的Qt4.8中,当我尝试使用QNetworkAccessManager通过网络执行post()操作时:

代码语言:javascript
复制
_net_acc_mgr.post(QNetworkRequest(QUrl(...)),
                  QByteArray(...));

我遇到以下运行时错误:

代码语言:javascript
复制
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot call unresolved function OPENSSL_add_all_algorithms_noconf
content-type missing in HTTP POST, defaulting to application/octet-stream

我清楚地记得几年前同样的代码。但是我忘了我试过哪个版本的Qt了。

在Qt4.8中使用QNetworkAccessManager还有什么其他要求吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-29 07:08:31

  • QT在32位
  • 上运行64位Windows64位文件夹system32没有OpenSSL所需的DLL,仅在sysWOW64文件夹中。
  • 要解决此问题,您需要安装OpenSSL 32的二进制版本。

为Windows编译的下载(更新链接):

http://slproweb.com/download/Win32OpenSSL_Light-1_0_1g.exe

注意:在安装过程中,请选择“

OpenSSL二进制(/bin)目录”选项(可能是C:\OpenSSL-Win32)

安装后,复制发布/调试项目文件夹的DLL(从C:\OpenSSL-32%HOMEDRIVE%\OpenSSL-32):

  • libeay32.dll
  • libssl32.dll
  • ssleay32.dll

另一种选择是使用Mingw64位,但不知道这对于QT是否可行(在这种情况下,如果您可以编译应用程序,则只能在64位系统上运行)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11546590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档