6
votes

My app is throwing the following errors on windows:

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

I have already installed the VS C++ Redistributables and OpenSSL but I have no idea on how to tell Qt to link against openSSL dynamically. I'm using the LGPL version of the Qt binaries and Qt Creator all on Windows 7 (the Linux build works just fine)

2

2 Answers

4
votes

For some reason Qt wasn't dealing very well with the dlls downloaded from Win32 OpenSSL Installation Project. As I had observed that the application ran smoothly on machines with Tortoise Svn installed I just copied the dlls provided with Tortoise and this worked very well for me.

I know, it's weird that those dlls worked and those from the Win32 OpenSSL Installation Project didn't but for now copying the dlls from the Tortoise Svn installation folder solved my issue.

4
votes

Download the the latest OpenSSL pre-build binaries from this website.

I used Win32 OpenSSL v0.9.8r Light as there is some debate about the v1 release. [Client tools are fine you don't need the full distribution]

Make sure that you install the dlls so that they are visible in the windows path. Either;

  • the windows / system32 directory
  • the application directory
  • or add the location of the dlls to the path enviroment variable

This works for me with Qt v4.6.2