How to determine what plugins are needed for deployment in Windows?
-
I am testing a deployment of the Minehunt app included in the Qt demos. It launches but only an all-white screen. This is usually due to plugins missing, from what I've read. So I placed ALL the directories inside the plugins directory into the same directory as my executable, just to ensure it had everything. Still an all-white screen. The QML directory is also in that same directory and it lines up with the path to the QML files specified in main.cpp, the same path that works when I deploy simpler Quick apps as well, so I don't think that is the issue.
What could cause an all-white screen and is there a more specific way to figure out what is missing in the deployment?
-
You may have a look at @QCoreApplication::addLibraryPath ( const QString & path)@ to tell your application where to find the plugins.
-
Tools that may come in handy for that (for Windows):
you can use "ProcessExplorer":http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx and see which libraries are loaded by your application
use "DependencyWalker":http://www.dependencywalker.com/ to check the linked dependent libraries of your application
or use "windeployqt":http://qt.gitorious.org/qt/qttools/source/ab1fe38abce2e6add51ad8ead7ac96002101fed3:src/windeployqt from the QtTools module (inofficial AFAIK)
And of course read "this guide":http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html ;)
-
The information in the Windows deployment guide is too vague and incomplete to be useful for most developers who are new to Qt. For example, you can follow all the instructions there perfectly and still find that demo apps installed with Qt do not run properly because plugins are missing, and it can be very hard to track down which ones and why.