Qt 6.4 Application Works Run From QtCreator but not Standalone (OpenSSL Issue)
-
So I just migrated a working application from Qt 6.1.2 to Qt 6.4.2. Pressed play in QtCreator and everthing ran, particularly the connection to a remote server which is done via HTTPS. I use QSslSocket::supportsSsl() to check that everything is ok with SSL and if it's not I close the application. So the fact the application opens means that everything is where it is.
I do however get this in the QtCreator console:
qt.tlsbackend.ossl: Failed to load libssl/libcrypto.
However it does work fine. I have tested.
Once I have this working I run windeployqt by doing
PATH/TO/windeployqt --qmldir PATH/TO/qmldir PATH/TO/myapp.exe
It runs and no errors. But now the application won't run neither from QtCreator (pressing play) nor from double clicking the executable. QtCreator console now throws THIS error:
qt.network.ssl: No functional TLS backendI made sure that the libcrypto and libssl libraries (the same one in the OpenSSL directory installed by Qt Maintainer and in the bin directory of QtCreator) are in the executable's directory.
But I have no Idea why it is not working anymore. This exact same process worked on Qt 6.1.2 with no issues.
Any ideas?
-
UPDATE: So I've been fooling around. And I found the following interesting tidbit. If I delete the QtCore6.dll from the executable directory where I ran the windeployqt, then I can launch the application from QtCreator again. I don't know if this helps anyone help me, but I'm putting it here just in case.
-
So I just migrated a working application from Qt 6.1.2 to Qt 6.4.2. Pressed play in QtCreator and everthing ran, particularly the connection to a remote server which is done via HTTPS. I use QSslSocket::supportsSsl() to check that everything is ok with SSL and if it's not I close the application. So the fact the application opens means that everything is where it is.
I do however get this in the QtCreator console:
qt.tlsbackend.ossl: Failed to load libssl/libcrypto.
However it does work fine. I have tested.
Once I have this working I run windeployqt by doing
PATH/TO/windeployqt --qmldir PATH/TO/qmldir PATH/TO/myapp.exe
It runs and no errors. But now the application won't run neither from QtCreator (pressing play) nor from double clicking the executable. QtCreator console now throws THIS error:
qt.network.ssl: No functional TLS backendI made sure that the libcrypto and libssl libraries (the same one in the OpenSSL directory installed by Qt Maintainer and in the bin directory of QtCreator) are in the executable's directory.
But I have no Idea why it is not working anymore. This exact same process worked on Qt 6.1.2 with no issues.
Any ideas?
@aarelovich said in Qt 6.4 Application Works Run From QtCreator but not Standalone (OpenSSL Issue):
qt.tlsbackend.ossl: Failed to load libssl/libcrypto.
However it does work fine. I have tested.Well, it failed to load the OpenSSL backend. So it probably loaded the Schannel backend instead.
qt.network.ssl: No functional TLS backend
Did it deploy
tls/qschannelbackend.dll? (ortls/qschannelbackendd.dllif you're using Debug mode)Anyway, to see what DLLs are being used, run your app in Qt Creator without windeployqt first. While it is running, use Process Explorer or ListDLLs to inspect your app.