Problem with QtQuick Controls
-
Well I have to admit that you are right. ;-)
I copied ALL dlls from the ming48_32/bin folder and now it works. Finally my deployment folder holds 3 GB and now I will try to reduce this size step by step. I will update this post and tell you which dll I was missing finally.
Still I am wondering why the application doesn't complain about missing dlls as it used to do if you are missing e.g. Qt5Core.dll or Qt5Gui.dll. Furthermore, I used Dependency Walker and not even this one reported any missing dlls.
-
some dll are load at runtime, I always use Dependency Walker with profiling. http://www.dependencywalker.com/help/html/hidm_execute.htm
-
Ok finally I managed to squeeze down my deployment folder to 110 MB and it still works!!! I am pretty sure that I can further reduce memory as there might be a couple of more stuff in the folders Qt, QtQuick and QtQuick.2 which I actually do not need. Nevertheless, the only library I was missing in the end was Qt5Widgets.dll. I don't quite understand why this one is needed as I am actually using QML only for GUI.
Anyway....for your reference I attach another screenshot of the final working deployment folder. Maybe somebody else can make some use of it in the future.
Thanks again for your help......and your patience. ;-)
-
Thanks man. I didn't know about the profiling of Dependency Walker but it looks very useful to especially find the libraries which are loaded at runtime.
[quote author="dasun" date="1392478127"]some dll are load at runtime, I always use Dependency Walker with profiling. http://www.dependencywalker.com/help/html/hidm_execute.htm[/quote]
-
You are welcome. Please mark this thread as solved :)
-
Glad to hear that you've succeeded! And thank you for sharing your final setup with the community.
[quote author="frankem" date="1392480026"]the only library I was missing in the end was Qt5Widgets.dll. I don't quite understand why this one is needed as I am actually using QML only for GUI. [/quote]Currently, Qt's styling capabilities are all located in the Qt Widgets module. Qt Quick Controls use these styles to look like native controls on your platform.
I'd imagine that the styling code would be refactored in Qt 6, so that we don't have Qt Quick apps relying on Qt Widgets code anymore. (The code can't be moved Qt 5.x unfortunately, because that would break binary compatibility)
-
[quote author="JKSH" date="1392517394"]Currently, Qt's styling capabilities are all located in the Qt Widgets module. Qt Quick Controls use these styles to look like native controls on your platform.[/quote]
Ah, I see. Thanks for this clarification.
Unfortunately, I am not able to mark the thread as "SOLVED" as I am not the owner.
-
I am running Visual Studio 2012 64 bit with QT 5.2.1 and I am running into this problem also. I saw the problem with both the OPEN GL version and the non Open GL version.
I have enclosed my screen shot, I also took the time to make sure that the VS 2012 redistributables were in place. Any Suggestions?
ML debugging is enabled. Only use this in a safe environment.
rc:/qml/main.qml:2:1: plugin cannot be loaded for module "QtQuick.Controls": Ca
not load library C:/Users/Andrew/Documents/GitHub/deploy/bin_debug/QtQuick/Cont
ols/qtquickcontrolsplugind.dll: The specified module could not be found.
lass QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(void):
ould not initialize egl display: error 12289tQuick: failed to create OpenGL context
-
Does this happen while you are running your application from Qt Creator or from a deployment folder?
Is the file C:/Users/Andrew/Documents/GitHub/deploy/bin_debug/QtQuick/Controls/qtquickcontrolsplugind.dll in place?
Try to use the windeployqt.exe program, which gives at least a good starting point for deployment.
-
Deployment Folder only. I will take a look at it. Thank you.
-
I tried it and there was a problem. When I renamed my C:\qt to something else, it did not work and I got the white screen. When I had the C:\qt the deployment was correct. What would I be missing? I copied the guide and everything?
I noticed that someone else did a 32 bit deployment in WINDOWS 7 and it worked. I was using QT 5.2.1 64 Bit with Open GL for Visual Studio 2012.
-
I've only done deployment on Win7 64-bit using Mingw. But the fact that you get a white screen has most probably something to do with missing plugins.
Did you use the windeployqt.exe?
You can try to use Dependency Walker [1]. This will show you all missing DLL's for your binary. From there you can run your binary in a profiling mode (Profile --> Start Profiling [F7]). This should also give you the missing plugin DLL's which get loaded dynamically during startup.
PS.: Have you also added Qt5Widgets.dll to your deployment folder? Even if you are only using QML, I found out that Qt5Widgets is still needed.
-
[quote author="andrew8165" date="1397583674"]When I renamed my C:\qt to something else, it did not work and I got the white screen. When I had the C:\qt the deployment was correct. What would I be missing? I copied the guide and everything?[/quote]That means you forgot to copy some files. Qt Quick applications need a combination of .dll files, .qml files and qmldir files.
This is the fastest way to get it working: http://qt-project.org/wiki/Deploy_an_Application_on_Windows
-
I already tried dependency walker and I copied all the necessary DLL's . Again there is different behavior with Windows 8.1 in 64 bit with QT 5.2.1 with Open GL then other distributions. Unfortunately this didn't solve the problem.
-
[quote author="andrew8165" date="1397644905"]I already tried dependency walker and I copied all the necessary DLL's . Again there is different behavior with Windows 8.1 in 64 bit with QT 5.2.1 with Open GL then other distributions. Unfortunately this didn't solve the problem.[/quote]Did you try the "Quick and Dirty" deployment in the link I posted?
-
Yes, It did not work properly.