Deploy qt5.3 application on windows
-
I've been trying to run it outside of qt creator for several days now, googled a lot and made some progress. Now windeployqt runs without any errors, places many dlls in release folder but program won't show up. It is there in processes, but program window does not appear. In the beginning I had installed using online installer, installed almost every available option and windeployqt failed with errors. I deleted everything, downloaded Qt 5.3.0 for Windows 32-bit (MinGW 4.8.2, OpenGL, 734 MB) and now windeployqt works. As I read somewhere, this build does not require libEGl.dll and I don't have this dll in my qt installation(at least I haven't found it). I have following dlls:
icudt52.dll
icuin52.dll
icuuc52.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5Qml.dll
./platforms/qminimal.dll
./platforms/qwindows.dll
./imageformats/lots_of_dlls_here
./iconengines/qsvigicon.dll
./bearer/qgenericbearer.dll
./bearer/qnativewifibearer.dll
./accessible/qtaccessiblequick.dll
./accessible/qtaccessiblewidgets.dll
What am I missing?
Any help would be appreciated:) -
If your app is an QML application, you definitely need Qt5Quick.dll. Please see "the deployment guide":http://qt-project.org/doc/qt-5/windows-deployment.html.
-
Thanks. It is qml application. Still does not run with this dll included. I read this guide several times already, maybe I'm doing it wrong, but can't deploy it as is described. And there was no mention of this dll. Maybe there is some dependency table?
-
You can get it using Dependency Walker. I would also suspect some QML stuff might be missing there, but am not sure. It's been a while since I last deployed an QtQuick app on Windows.
-
Everything seems in order in dependency walker, except qtcore.dll checksum is marked red.
By the way, should windeploqt place all necessary libraries itself?
UPDATE
Read help section of dependency walker, Module warning. At least one instance of this module is either missing one or more export functions that are required by its parent module, is of the wrong CPU type, or failed to load at runtime. - almost all windows libraries have this. They are x64 bit, I am trying to build 32 bit application(using mingw) -
Finally manged to run it, I used process explorer to find out which dlls are loaded at runtime and added them.
-
Good job :)