Deploying Qt 5.6 on Windows problem



  • I updated from Qt 5.4 to Qt 5.6 and wanted to deploy my application as I did so many times before using the windeployqt tool. I never had issues with it and everything worked out of the box but not this time. I can't figure out what the issue is or how to fix it so any help would be highly appreciated.

    I'm using Qt 5.6 with MinGW 4.9.2 32-bit on a Windows 10 64-bit machine. After I run windeployqt I get the expected result:

    However, when I double-click the executable I get the following error: The program can't start because libgcc_s_dw2-1.dll is missing from your computer.. Fair enough, I manually copy that file from C:\Qt\5.6\mingw49_32\bin to the directory and then I get the next error: The application was unable to start correctly 0xc000007b. And this is where I am completely lost. Starting the executable from the terminal doesn't give any debug message. It just doesn't do anything.

    Can anybody help me with that? I am completely lost.



  • Hi, guessing you have Code::Blocks installed? (or something similar installed on May 11th).
    it's possible you have 2 different (one 32-bit and one 64-bit) versions of MinGW installed. The file libgcc_s_sjlj-1.dll shouldn't be there (it doesn't like to be together with libgcc_s_dw2-1.dll) see more here](http://www.sfml-dev.org/tutorials/2.3/start-cb.php)



  • @hskoglund Thank you for your reply.
    I don't have Code::Blocks installed but I have other MinGW versions (through cygwin) on my system. However libgcc_s_sjlj-1.dll was copied to that directory by the windeployqt tool. I assume that it pulls the correct files from the MinGW distribution that comes with the Qt installation (the one from C:\Qt\5.6\mingw49_32\bin\).

    Anyway, I removed the file but the issue remains. How do I make sure that I get the proper version of the DLLs (32-bit vs. 64-bit)? I assumed that windeployqt would take care of all of this.



  • Hmm windeployqt can get confused where to pick up the compiler dlls.

    Looking at the MinGW files in your listing, these 2 important ones have the wrong date/time and size:
    libstdc++-6.dll
    libwinpthread-1.dll
    (the other 2 libEGL.dll, libGLESV2.dll and opengl32sw.dll are correct).

    Try do the same with libstdc++-6.dll and libwinpthread-1.dll as you did with libgcc_s_dw2-1.dll, i.e. copy them manually from C:\Qt\56.\mingw49_32\bin



  • Well now it's actually working.
    Thank you very much, I appreciate your help a lot!

    Is there any way to tell windeployqt to only pick the DLLs from the MinGW distribution that came as part of the Qt installation? It seems to be a "pointless tool" otherwise (to exaggerate a bit).



  • FYI for others... I had the same issue when upgrading from 5.5 to 5.6. Copying those three files did the trick.


Log in to reply
 

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