Platform plugin "windows"
-
As the title suggests, I am having issues deploying an application built with Qt 5.3.
The install procedure that worked with 5.1 does not work anymore.
I followed "this":http://qt-project.org/wiki/Deploy_an_Application_on_Windows guide which led me here.
I literally have the entirety of my Qt distribution in the deployment directory on my test machine (free of any Qt installations).
This means I have all dlls from .../bin, everything from plugins, and everything from qml.
The deployment folder screenshot can be found "here":http://i.imgur.com/2pSBVa8.png.Additional details:
I'm using Qt 5.3 with MS VS2013 x64 with OpenGL all running on Win 7 x64 on my dev machine.
The deployment machine is also Win 7 x64. -
Hi, install procedure should be more or less the same as 5.1.
But if you get the error "could not find or load the Qt platform plugin "windows" I wrote a "blog post about it":http://www.tripleboot.org/?p=138EDIT: It sure looks like you've got everything and the kitchen sink in there, it should work. If you try an empty widgets project (like in my blog post) and deploy that, you still get the error?
-
Don't worry I wrote another "blog post":http://www.tripleboot.org/?p=536 :-)
So, a small bare-bones works fine, but your real app does not. Try turn on plugin loading trace: (quoting my post): in the Projects mode page, at the bottom, add the environment variable QT_DEBUG_PLUGINS by clicking Details in Build Environment. Set the value to 1. Then Run your project again, and look in Application Output window, you’ll see lines like “QFactoryLoader::QFactoryLoader() checking….”
Also, are you doing any voodoo before QApplication app(argc, argv); in main.cpp?
-
I tried just setting my env var (set QT_DEBUG_PLUGINS=1) in the command line before calling my executable. It didn't seem to do anything unfortunately.
There is no voodoo before QApplication(argc,argv)
I did notice in your page you mentioned libEGL.dll. Isn't that only required if you're using ANGLE? I thought using Qt with OpenGL on windows eliminated that dependency.
-
I tried just setting my env var (set QT_DEBUG_PLUGINS=1) in the command line before calling my executable. It didn't seem to do anything unfortunately.
There is no voodoo before QApplication(argc,argv)
I did notice in your page you mentioned libEGL.dll. Isn't that only required if you're using ANGLE? I thought using Qt with OpenGL on windows eliminated that dependency.
-
Re. QT_DEBUG_PLUGINS=1, yeah I also seen that it's not working on the command line (only in QtCreator, which is kind of pointless. Been meaning to check why, if I find why I'll update my blog post).
Re. libEGL.dll, correct, not needed.
Anyway, the tool that could help "ListDLLs":http://technet.microsoft.com/en-us/sysinternals/bb896656.aspx
Launch it from cmd line and add your .exe file name as argument (you only a few of the first chars). Then install it on the deployment machine as well, and run it while your app hangs on that error box ("could not find or load the Qt platform plugin"). Now compare them..EDIT: also "Dependency Walker":http://www.dependencywalker.com/ is a good tool, install on both machines, do File Open your .exe, then Profile, Start Profiling. Compare.
-
Hi, just an update on why QT_DEBUG_PLUGINS=1 doesn't work as expected when you launch a Qt app from the command line (as it does on Linux and Macs): I found that for Windows MSVC and MinGW compilers, Qt routes the texts to OutputDebugString(), that's why the CMD window shows no output.
Instead, to see the output, download "Sysinternal's DbgView":http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
-