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_error

    I 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!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.