Running a QML .exe file on Windows
-
@jsulm Yes,windeployqt can not deploy a executable application,I double click the exe but nothing ever happens.I answer the question on stackoverflow.com where user name is Crawl.W as here.I copy qml floder to runtime directory,and then run the exe, then fell all other unoccupied files heartily.But seemly cannot delete some unoccupied thing in qml\QtQuick, if I delete it double click the exe will have nothing happened.
-
@Crawl.W
Kenchan has mentioded the deploy tool arguments.Windeployqt does'nt know if you are deploying an qml application, so you need to pass
--qmldir [your qml root path folder]
argumentNote: if your qml root path folder has space characters, you should use double quotes between your path or it will interpret as Different Commands.
-
@KillerSmath @kenchan I found my posting linkage of stackoverflow is invalid, I update it just now, Here(https://stackoverflow.com/questions/44762836/deploying-qt-c-qml-application-on-windows/55850012#55850012). My problem seems to need some non-dynamic library(DLL), and runtime is unoccupied. Kind of weird. I had already run my program and then I wanna know that's about what.
-
@Crawl.W
If your apllication is running on test environment, so the windeployqt should able to identify and copy the dependent dlls.
Keep in mind, you also can use --force parameter to copy the dependencies even though they already exist on deploy folder. -
@KillerSmath I have tried
--qmldir [your qml root path folder]
, deployed program is still not work. -
@KillerSmath
windeployqt --qmldir D:\Qt\Qt5.12.0\5.12.0\msvc2017_64\qml ImWorkStation.exe
What I can confirm now is my program need to depend on some unoccupied non-dll at runtime, which exits in qmldir. -
@Crawl.W
When i said [your qml root path folder], it means your project folder path where are your qml files.Example:
D:\MyProject\qml
D:\MyProjectNote: Use --force parameter if you already have old deploy files.
-
@KillerSmath Good, I changed to where my project's qml file is located, it works. You rocks!
I might have three more questions:- if my project's qml file locate two folder, how I should pass directory?
- just because the qml file needs to do this?
- Always confused. What are the non-occupied dependencies at runtime but is must when startup? I am targeting two folders: QtQuick\Controls and QtQuick\Extras
-
@Crawl.W
1- if my project's qml file locate two folder, how I should pass directory?If your project is organized as below then pass the project path because the qmlimportscanner will find all files inside the root folder.
- Project
- qml_1
- file_1.qml
- qml_2
- file_2.qml
- qml_1
2 - just because the qml file needs to do this?
https://doc.qt.io/QtQuickCompiler/#overviewAs .qml files are loaded at run-time, it is necessary to deploy them together with the released application.
3 - Always confused. What are the non-occupied dependencies at runtime but is must when startup? I am targeting two folders: QtQuick\Controls and QtQuick\Extras
Depend on which qml files are loaded.
- Project
-
I think this is the final answer to this question.Thanks to @KillerSmath 's for your patience. Thanks also to kenchan.
By the way, last question(with a sly grin),what windeployqt provides is not all necessary, how deploy by the best concise? -
windeployqt not helping.
Qt_5_12_1_MinGW_64called windeployqt --quick . in directory with only one exe file
it created bunch of files (64 mb). "dir" output:28.09.2019 13:49 <DIR> bearer 11.03.2014 13:54 4 173 928 D3Dcompiler_47.dll 28.09.2019 13:46 78 848 Empty.exe 28.09.2019 13:49 <DIR> iconengines 28.09.2019 13:49 <DIR> imageformats 29.01.2019 07:27 24 576 libEGL.dll 19.03.2018 18:14 74 240 libgcc_s_seh-1.dll 29.01.2019 07:27 3 976 192 libGLESV2.dll 19.03.2018 18:14 1 425 920 libstdc++-6.dll 19.03.2018 18:14 52 224 libwinpthread-1.dll 14.06.2016 15:00 20 923 392 opengl32sw.dll 28.09.2019 13:49 <DIR> platforms 28.09.2019 13:49 <DIR> qmltooling 28.09.2019 13:49 6 354 944 Qt5Core.dll 29.01.2019 07:30 6 498 304 Qt5Gui.dll 29.01.2019 07:29 1 709 568 Qt5Network.dll 29.01.2019 07:58 4 193 280 Qt5Qml.dll 29.01.2019 08:02 4 087 808 Qt5Quick.dll 29.01.2019 07:52 346 112 Qt5Svg.dll 29.01.2019 07:34 5 649 920 Qt5Widgets.dll 28.09.2019 13:49 <DIR> styles 28.09.2019 13:49 <DIR> translations
but no changes. application not running.
thought the problem was in my code , tried same on maroon example got same result.