Qt 5.4错误"qt.network.ssl: QSslSocket: cannot call"

    今天研读QQStars(http://www.qtcn.org/bbs/read.php?tid-57944.html)时,发现这个软件登陆不上,总是提示:

    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

    qt.network.ssl: QSslSocket: cannot call unresolved function TLSv1_client_method

    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new

    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init

    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

    上网搜了半天,都说要在电脑那里安装openssl,然后把C:\OpenSSL-Win64\bin下的libeay32.dll和ssleay32.dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin,然后编译就能用。

    然而并没什么卵用!

    无奈之下,我只好用QtCreator3.30进入调试模式,一步步看,看是哪里出了问题。然后让我开心的事情出现了,按登陆的时候并没有出现上面那些错误提示!也就是说,在调试模式下,Qt是加载得了libeay32.dll和ssleay32.dll的。那它加载的是不是和我提供的不一样呢?

    把调试日志调出来看了一下,发现了Qt加载的这两个库,是Qt自带的!路径是:D:\Qt\Qt5.4.2\Tools\mingw491_32\opt\bin。

    最后,我把这个目录下的两个dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin,再运行就没有报错了!

    弄了半天,原来是版本不对,Qt用的openssl版本和我上官网下的不一样,如果我把所有版本尝试了,估计也会成功。不过能够通过这样快捷的方法解决问题,实属良方,以后也要多多用调试器来解决问题。

    

转载于:https://my.oschina.net/chrisforbt/blog/521650

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值