QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
LEAK: 3 RenderObject
LEAK: 1 Page
LEAK: 1 Frame
LEAK: 4 WebCoreNode
在编译代码时出现上述错误,上网搜了半天,大家都说要在电脑那里安装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加载的这两个库,是Qt自带的->路径是:D:\Qt\Qt5.4.2\Tools\mingw491_32\opt\bin。
最后,把这个目录下的两个dll拷贝到D:\Qt\Qt5.4.2\5.4\mingw491_32\bin(有QT5Network.dll的目录),再运行就没有错误了。
**并不是说安装openssl的方法不行,而是需要安装的与QT版本相对应。
openssl下载地址:http://slproweb.com/products/Win32OpenSSL.html