QSslSocket and unresolved functions
-
Hello, I started to play with <QNetworkAccessManager>, <QNetworkRequest>, <QNetworkReply> and <QSslError>.
If I write the next (trimmed down) code:
@QNetworkAccessManager *manager = new QNetworkAccessManager();
QString requestString="https://...........";
QNetworkRequest request;
request.setUrl(QUrl(requestString));
QNetworkReply *reply = manager->get(request);@I got a lot of error during run-time:
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_errorI mention that I set up this code after the event dispatcher is running (at least I hope so) and I connected the finished(QNetworkReply*), readyRead(), error(QNetworkReply::NetworkError) and sslErrors(QList<QSslError>) signals to my own (empty, yet) slots.
Where to search for the problem? My code segfaults too.
I understood that maybe I have to install OpenSSL (Win32 OpenSSL or Win64 OpenSSL). What to install if I use W7PRO 64? What SSL package/version is recommended?
Thanks!!! -
You need the 32-bit version of OpenSSL.dll if your application is compiled 32-bit, and the 64-bit version if your application is compiled 64-bit. It makes no difference if your 32-bit application is running on a 64-bit machine. The DLL must be put somewhere it can be found for on-demand DLL loading by your application.
-
Yes you are right! Uninstalling the 64 bit version and installing the 32 bit version solved the problem! Thanks for suggestion!