When you try to open a HTTPS URL with QSslSocket or QNetworkAccessManager class, you get the following errors:
QSslSocket: cannot call unresolved function SSLv3_client_method QSslSocket: cannot call unresolved function SSL_CTX_new QSslSocket: cannot call unresolved function ERR_get_error QSslSocket: cannot call unresolved function ERR_error_string
Solution
You need to install OpenSSL Win32 or Win64 binaries.
- Open Win32 OpenSSL Installation Project page.
- Download the latest "light" Win32 or Win64 installation package, for example "Win32 OpenSSL v0.9.8l Light".
- Install it to any location. Ignore "Microsoft Visual C++ 2008 Redistributables" warning (click OK) and select copying OpenSSL DLLs to "The OpenSSL binaries (\bin) directory".
- Copy
libeay32.dll
andssleay32.dll
from the \bin folder to the same place where yourQtNetwork4.dll
orQtNetworkd4.dll
is located.
Found it useful, In linux if same error occurs you need to have libcrypto.so and libssl.so in your /usr/lib
ReplyDeleteThx, I had problems with https and this fixed it, Good job sharing solution with others
ReplyDeleteThanks, you have done great job...
ReplyDeleteHOW IN LINUX?
ReplyDelete@Systek, install OpenSSL for linux, than you need to have libcrypto.so and libssl.so in your /usr/lib. Just copy paste them!
ReplyDeletethanks so much :)))))
ReplyDeleteIt was really helpful. Thanks.
ReplyDeleteHi,
ReplyDeleteI'm trying to open a HTTPS URL with QSslSocket or QNetworkAccessManager but I haven't had success. Do you have a HOWTO o some guidance about it?
Thanks
For Linux CentOS6 64bit, I resolved the error by doing the following:
ReplyDeleteyum install openssl-devel.x86_64
i did all above things....
ReplyDeleteBut still now i found this errors...
QSslSocket: cannot call unresolved function SSLv3_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_error_string
when i trying to download a file through my own download manager devoloped by Qt...
plz help...
thankx in advanced...
thank so much
ReplyDeleteThanks
ReplyDeleteThanks a lot!
ReplyDeleteThanks a lot! That solved my problem :D
ReplyDeleteI do copy libcrypto.so and libssl.so in /usr/lib
ReplyDeletebut it doesn't solve the problem
This comment has been removed by the author.
ReplyDeleteI don't have libeay32.dll and ssleay32.dll in bin folder
ReplyDeleteAlso i can't find tNetwork4.dll or QtNetworkd4.dll (5 versions too), but I use QT += network and it works
Delete