Qt platform plugin found yet not found
-
@aran said:
Well, of course I used the same copy to compile both Qt and my app. However, building the base Qt5 package (the one that is responsible for the qwindows.dll) from source didn't change anything...
Hmm... in that case, it's time to try everything. Follow the instructions under "Initial deployment (Quick and dirty)" at http://wiki.qt.io/Deploy_an_Application_on_Windows
-
Okay, I got a partial success:
I downloaded the Qt installer for Windows, and during installation selected the right mingw compiler version (as per https://wiki.qt.io/MinGW). Now, I'm able to compile my app in QtCreator and it also runs. Well kinda. At first, it ran (i.e., it produced command line output and was shown as 'running') but the main window wasn't visible. Besides the expected output on the command line, I got a bunch of OpenGL warnings.
After installing Direct3D support in VirtualBox and enabling it in the settings, I'm now able to start the app, though nothing else really works. But as I found online, this is due to VirtualBox not having proper support of OpenGL. That means, that I will have to pass a completely untested installer to my users, but at least there's something.I will try to get a proper cross compiler on Linux running, using the right mingw version and installing qt entirely from source. I know now, that it should work, so hopefully that'll be successful! I'll report back...
Thanks to everybody who helped me so far!
-
Hi. I have a Qt Quick application that runs perfectly inside VirtualBox. You should enable ANGLE on Qt. It's much more reliable when deploying for Windows.
http://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers
-
Hm, that's strange, that doesn't work for me... Although at your link it says that "As of Qt 5.5 this [dynamic opengl] is the configuration used by the official, pre-built binary packages of Qt.", if I set the QT_OPENGL environment variable to 'angle', my app still crashes...
-
Sorry for the late reply, had a crazy week...
But I eventually did manage to get my app working on Windows!! I had a few subfolders from the lib/qt/qml folder missing. Two slightly odd things I noticed:
- If I don't include Qt5Multimedia.dll and Qt5MultimediaQuick_p.dll, then my app crashes, but it doesn't complain about it missing (one of the reasons it took me a while to figure that out). Also dependency walker didn't show me that one as 'missing'...
- If some of the *.a files are present, they can cause trouble. In particular in the case of the platforms/ subfolder. If I don't remove the qwindows.a file and thus both qwindows.{a,dll} are in there, then I get the error message I posted in my initial post. Could it be, that for some reason, that Qt (when attempting to load the platform plugin) only considers the filename without the ending? Would be weird, but it kinda seems like that...
Anyways, it's working just fine now. Well, almost: I can't display gif or tiff images in Windows yet. Although, the imageformats/ subfolder contains the dll plugins for both of them. I tried to inspect them (using 'nm' on Linux) and didn't spot any missing dll dependency. Anybody any thoughts what I could try?
-
@aran said:
I had a few subfolders from the lib/qt/qml folder missing.
...
I can't display gif or tiff images in Windows yet. Although, the imageformats/ subfolder contains the dll plugins for both of them. I tried to inspect them (using 'nm' on Linux) and didn't spot any missing dll dependency. Anybody any thoughts what I could try?
As I said in my previous post, follow the instructions under "Initial deployment (Quick and dirty)" at http://wiki.qt.io/Deploy_an_Application_on_Windows
Plugins are loaded at runtime, and they won't be detected by dependency checking tools.
-
@JKSH said:
As I said in my previous post, follow the instructions under "Initial deployment (Quick and dirty)" at http://wiki.qt.io/Deploy_an_Application_on_Windows
Plugins are loaded at runtime, and they won't be detected by dependency checking tools.
Well, the way it is described in the wiki is how I usually start, but that actually didn't work at all, it crashes with the error mentioned in my first post.
Though, I guess, that the problem might have been with the *.a files, that seem to cause troubles (even though the shouldn't). I'll try to do the same thing again, and this time I'll delete all the *.a files before testing anything... -
What do you mean by "other dependency for qwindows.dll"? I only have that one, in the platforms subfolder. Copying it into the exe folder doesn't change anything...