QML2 application shows no content if it runs outside Qt Creator. QM1 application does.
-
Hello,
I created a new QML1 application and a new QML1 application with the wizard and made a release build with VC and mingw.
Then I copied the needed files from to the release folder to get it running outside Qt Creator (see cases at the bottom)
If I try to run the applications on the computer which compiled the applications Case 1 and 2 (QML1) works. Case 3 and 4 (QML2) shows only a tiny window (only the border) without content. If I move the qml folder to the release folder all cases work correctly.
If I try to run the applications on an other computer the applications Case 1 and 2 (QML1) works. Case 3 and 4 (QML2) shows only a tiny window (only the border) without content. If I move the qml folder to the release folder still the applications Case 1 and 2 (QML1) work correctly. But Case 3 and 4 (QML2) shows only a tiny window (only the border) without content.
Question 1: How can I get the QML2 application get running on an other computer?
Question 2: Is the right place for the qml folder with files in release folder for the QML1 cases? If yes, why does it work if the qml folder is 'one level up'?
@Case 1:
T:\Transfer\Transfer AVB\UvTouch_Kram\HelloQML1-build-Desktop_Qt_5_0_1_MinGW_32bit-Release>tree /f
T:.
¦ Makefile
¦ Makefile.Debug
¦ Makefile.Release
¦
+---debug
+---qml
¦ +---HelloQML1
¦ main.qml
¦
+---release
¦ D3DCompiler_43.dll
¦ HelloQML1.exe
¦ icudt49.dll
¦ icuin49.dll
¦ icuuc49.dll
¦ libEGL.dll
¦ libgcc_s_sjlj-1.dll
¦ libGLESv2.dll
¦ libstdc++-6.dll
¦ libwinpthread-1.dll
¦ Qt5Core.dll
¦ Qt5Declarative.dll
¦ Qt5Gui.dll
¦ Qt5Network.dll
¦ Qt5Script.dll
¦ Qt5Sql.dll
¦ Qt5Widgets.dll
¦ Qt5XmlPatterns.dll
¦
+---platforms
qminimal.dll
qwindows.dll
@
@Case 2:
T:\HelloQML1-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Default_build_Release>tree /f
T:.
¦ Makefile
¦ Makefile.Debug
¦ Makefile.Release
¦
+---debug
+---qml
¦ +---HelloQML1
¦ main.qml
¦
+---release
¦ D3DCompiler_43.dll
¦ HelloQML1.exe
¦ HelloQML1.exe.embed.manifest
¦ icudt49.dll
¦ icuin49.dll
¦ icuuc49.dll
¦ libEGL.dll
¦ libGLESv2.dll
¦ msvcp100.dll
¦ msvcr100.dll
¦ Qt5Core.dll
¦ Qt5Declarative.dll
¦ Qt5Gui.dll
¦ Qt5Network.dll
¦ Qt5Script.dll
¦ Qt5Sql.dll
¦ Qt5Widgets.dll
¦ Qt5XmlPatterns.dll
¦
+---platforms
qminimal.dll
qwindows.dll
@
@Case 3:
T:\HelloQML2-build-Desktop_Qt_5_0_1_MinGW_32bit-Release>tree /f
T:.
¦ Makefile
¦ Makefile.Debug
¦ Makefile.Release
¦
+---debug
+---qml
¦ +---HelloQML2
¦ main.qml
¦
+---release
¦ D3DCompiler_43.dll
¦ HelloQML2.exe
¦ icudt49.dll
¦ icuin49.dll
¦ icuuc49.dll
¦ libEGL.dll
¦ libgcc_s_sjlj-1.dll
¦ libGLESv2.dll
¦ libstdc++-6.dll
¦ libwinpthread-1.dll
¦ Qt5Core.dll
¦ Qt5Gui.dll
¦ Qt5Network.dll
¦ Qt5Qml.dll
¦ Qt5Quick.dll
¦ Qt5V8.dll
¦
+---platforms
qminimal.dll
qwindows.dll
@
@Case 4:
T:\HelloQML2-build-Desktop_Qt_5_0_1_MSVC2010_32bit-Default_build_Release>tree /f
T:.
¦ Makefile
¦ Makefile.Debug
¦ Makefile.Release
¦
+---debug
+---qml
¦ +---HelloQML2
¦ main.qml
¦
+---release
¦ D3DCompiler_43.dll
¦ HelloQML2.exe
¦ HelloQML2.exe.embed.manifest
¦ icudt49.dll
¦ icuin49.dll
¦ icuuc49.dll
¦ libEGL.dll
¦ libGLESv2.dll
¦ msvcp100.dll
¦ msvcr100.dll
¦ Qt5Core.dll
¦ Qt5Gui.dll
¦ Qt5Network.dll
¦ Qt5Qml.dll
¦ Qt5Quick.dll
¦ Qt5V8.dll
¦
+---platforms
qminimal.dll
qwindows.dll
@ -
Yes, most likely the problem above was needing the QML in the proper place. There's a whole bunch of things you need to do correctly to successfully deploy to another system. Typically the QML is embedded in a resource file though so that it's not editable when deployed.