-
In Qt 6.2, the TLS backend (openSSL support) is a separate plugin.
You need to copy over the plugin too. Your screenshot does not show it.
The file you need should be inC:\Qt\<Qt version>\<compiler>\plugins\tls\opensslbackend.dll
-
Thank you for your reply.
I have tried this but sadly the issue is here that we cannot use QtSerialPort in 6.2 in the beta version, unless I haven't found the right solution to have the desired result
Are you familiair with this? :-)
Kind regards,
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
I have tried this but sadly the issue is here that we cannot use QtSerialPort in 6.2 in the beta version, unless I haven't found the right solution to have the desired result
Which issue do you talking about?
If Qt6.2 is not possible for you, you have to go with Qt 5.xx series, in which QSerialPort is available.
Mixing Qt version is not possible. -
Thank you for your response
The issue im reffering to is this:
I am trying to deploy my qt application but I encountered these errors: qt.network.ssl: No functional TLS backend was found, qt.network.ssl: No TLS backend is available.
I had these errors before in qt 6.1.2 but I fixed them by including the libssl-1_1-x64.dll and the libcrypto-1_1-x64.dll and then my program ran fine.
Now I tried doing that with qt 6.2.0 but that didn't seem to work I still has these errors.Are you familiair with this issue? :-)
Kind regardss,
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
I fixed them by including the libssl-1_1-x64.dll and the libcrypto-1_1-x64.dll and then my program ran fine.
Now I tried doing that with qt 6.2.0 but that didn't seem to work I still has these errors.Nothing to do with serial port. You're missing OpenSSL libraries. Those can be compiled yourself or added via Qt Maintenance Tool.
-
@artwaw said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
Maintenance
Dear artwaw
The libraries are installed but they are not shipped with the executeable.
As stated on this page: https://doc.qt.io/qt-6/ssl.html windeployqt does not automatically deploy OpenSll with applications due to international laws.
(if I copy paste libcrypto-1_1-x64.dll and libssl-1_1-x64.dll in the executabele folder from a previous version of qt it works but in a executable from 6.2 it does not work). I still get these errors : qt.network.ssl: No functional TLS backend was found, qt.network.ssl: No TLS backend is available.kind regards
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
The issue im reffering to is this:
I am trying to deploy my qt application but I encountered these errors: qt.network.ssl: No functional TLS backend was found, qt.network.ssl: No TLS backend is available.
I had these errors before in qt 6.1.2 but I fixed them by including the libssl-1_1-x64.dll and the libcrypto-1_1-x64.dll and then my program ran fine.
Now I tried doing that with qt 6.2.0 but that didn't seem to work I still has these errors.
Are you familiair with this issue? :-)
Kind regardss,
YinaOut of curiosity, did you install OpenSSL libraries with Qt Maintenance Tool?
You can find it under Developer and Designer Tools
-
@KroMignon
helloYes I did, now I'm trying to compile the ssl libraries like artwaw said.
Currently I am cloning this : https://wiki.qt.io/Building_Qt_6_from_Git
So I can do this configure command to compile my dll's in MSVC2019
link: https://www.qtcentre.org/threads/30523-How-to-Building-Qt-with-OpenSSL-support-using-the-Windows-SDKBut I am fairly new to this so if I am doing it the wrong way could you please help me to get into the right direction.
kind regads,
Yina -
@Yina Either I miss something or you are going to far.
If you installed Qt via the Maintenance Tool SSL support is already on - the only thing missing are two libraries which can be downloaded via the said tool. All you need to do is copy them over - if this doesn't work just download the OpenSSL source from https://openssl.org/ and compile that. In effect you will have those two libraries compiled with the same compiler that you use for work with Qt.
or have you previously compiled Qt 6 from sources too? -
@artwaw
Hello,you were talking about 2 libraries I am assuming you are talking about these? this is what I got when I downloaded the openSSL 1.1.1j toolkit (in the Maintenance tool)
"All you need to do is copy them over": in QTcreator it works but if I copy them over in my executable folder It does not work anymore and I get the qt.network.ssl: No functional TLS backend was found error when I run with the debugger.
kind regards
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
But I am fairly new to this so if I am doing it the wrong way could you please help me to get into the right direction.
As @artwaw wrote before, it depends on how you did install Qt 6.2:
- did you compile yourself from sources?
- did you install the beta version with Maintenance Tool?
If you compile it yourself, you will have to reconfigure/compile/install.
When using Qt Maintenance Tool you will have nothing to do, apart copy dll from <QT_INSTALL_DIR>/Tools/OpenSLL/Win_XXX/bin into <QT_INSTALL_DIR>/6.2/<qt_kit>/bin -
@KroMignon
HelloI installed via the Maintenance tool, so then I copied the libcrypto-1_1-x64 in my MSVC2019 bin directory:
After that I proceeded to make an executabele so I deployed my project and ran windeployqt.exe
PATH \debug> C:\Qt\6.2.0\msvc2019_64\bin\windeployqt.exe --qmldir C:\Users\yina\OneDrive\documtents\Qt\Project .
When I ran through my files in the executable folder I saw that the libcrypto-1_1-x64.dll and libssl-1_1-x64.dll weren't in that said folder. I believe that is because of international laws.
So I manually copied the 2 files from the bin folder
then I tested and the program is still not able to do an HTTPS request.
Then I ran with the debugger tool with an external executable and I saw that I still get the error like I said above.
qt.network.ssl: No functional TLS backend was found, qt.network.ssl: No TLS backend is available.Kind regads
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
qt.network.ssl: No functional TLS backend was found, qt.network.ssl: No TLS backend is available.
Just for testing purpose, could you add "C:\Qt\Tools\OpenSSL\Win_x64\bin" the PATH and the try to start your application?
Do this work? -
@KroMignon said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
hello
I did that but the thing is it always works in the qt creator but if I make an executable is won't work anymore, so I made an executable via windeployqt.exe with "C:\Qt\Tools\OpenSSL\Win_x64\bin" added through the path and it still does not work.And I still get the same errors.The application starts but I can't do an HTTPS request.
kind regards
Yina -
@Yina said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
hello
I did that but the thing is it always works in the qt creator but if I make an executable is won't work anymore, so I made an executable via windeployqt.exe with "C:\Qt\Tools\OpenSSL\Win_x64\bin" added through the path and it still does not work.And I still get the same errors.The application starts but I can't do an HTTPS request.
kind regards
YinaCould you add some debug information to help to understand what's happening:
qDebug() << "SSL support:" << QSslSocket::supportSsl(); qDebug() << "SSL version required:" << QSslSocket::sslLibraryBuildVersionString(); qDebug() << "SSL version found:" << QSslSocket::sslLibraryVersionString();
-
@KroMignon said in Is it possible to have "Best of both worlds" within Qt versions regarding modules?:
Hello
//executable the thing I want that works
SSL support: false
SSL version required: ""
SSL version found: ""//qtCreator so not the executable
SSL support: true
SSL version required: "OpenSSL 1.1.1k 25 Mar 2021"
SSL version found: "OpenSSL 1.1.1k 25 Mar 2021"Kind regards
Yina -
sadly that didn't seem to work, it still is the exact same result as before.
I tried adding in the dll's just in the folder of the executable and I also tried adding the enitre folder + the .lib files in the executable folder so these files:
this is the result when everything is added:
but the result didn't change.
kind regards
Yina