Deployed Qt App Not Functioning Correctly [SOLVED]



  • The title is in general I know but here is what it is, a little bit in detail:
    I have an app written using Qt5.2.0 that sends network request to a SOAP server and processes the received SOAP response. It uses xml, multimedia, network and some other libraries.
    It opens up fine on the target system when I deploy every single Qt library and plugin there is but no transactions over the network is being done!
    My guess is the QTextCodec. I am using a codec for ISO-8859-9 (Turkish) but I don't have any plugins to distribute to target system.
    Any ideas?
    Need more clarification???



  • Do the expected network connections expect SSL? Have you deployed a suitable OpenSSL library?



  • No SSL. And I haven't deployed any!



  • ChrisW67, I installed Qt on the target system to debug it. When I run, these asserts appear in the output window:

    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
    QSslSocket: cannot call unresolved function ERR_get_error

    Seems you're right. I have an issue with SSL or something.
    But what is the file I am skipping when I distribute???



  • ChrisW67, thanks for your hint.
    I was able to solve it using this solution:

    Solution

    You need to install OpenSSL Win32 or Win64 binaries.

    1.Open Win32 OpenSSL Installation Project page.

    2.Download the latest "light" Win32 or Win64 installation package, for example "Win32 OpenSSL v0.9.8l Light".

    3.Install it to any location. Ignore "Microsoft Visual C++ 2008 Redistributables" warning (click OK) and select copying OpenSSL DLLs to "The OpenSSL binaries (\bin) directory".

    4.Copy libeay32.dll and ssleay32.dll from the \bin folder to the same place where your QtNetwork4.dll or QtNetworkd4.dll is located.

    Taken from the following link:
    "http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html":http://codeblog.vurdalakov.net/2009/11/solution-qsslsocket-cannot-call.html



  • Another problem. It still isn't working on Windows XP.
    Any ideas???
    I get this error in reply: SSL handshake failed

    (Previously I tested on Windows Seven)



  • This thrrad turned out to be a solo thread. Me asking and me answering but anyway it seems in my case ignoreSslErrors is the answer!

    In case anyone faces the same problem



  • Hi,

    I do install the OpenSSL Win32 or Win64 binaries. and copied the libeay32.dll and ssleay32.dll from the bin folder to the QtNetwork4.dll or QtNetworkd4.dll location, did not help me... further to that ,you must add the environment variable of the "OpenSSL" to the path.
    At least it has worked for me...

    Cheers


Log in to reply
 

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