Unsolved move qt files to subdirectory
-
Hi,
Is it possible to move all the qt specific files like the imageformats, platforms and bearer folders as well as the Qt dlls into a subdirectory (e.g. qt_files) on deploy? Our users have to deal with other subdirectories frequently and the abundancy of (for them useless) qt files is making the application dir look a bit messy.
Thx, Megamouse
-
Hi,
See the qt.conf documentation.
-
I understand how I can change the default plugin path with the .conf or the static function, and moving the files there and running the app does indeed work.
Also I can see that I can change the path with --plugindir <path> in windeployqt.
But doing so won't deploy them to that directory at all.Is there something I'm missing?
-
Sorry, I haven't used that option from windeployqt.
-
So i figured it out with
--plugindir $(TargetDir)\qtplugins
in the VS properties.But now it complains about the windows plugin not being found (platforms folder is now also in the plugins folder).
-
nevermind... I was being stupid.
It should be
--plugindir $(TargetDir)\plugins
since qtplugins would need to be added to the librarypaths first. -
now the only thing left are the qt module dlls
-
So I got it to deploy the dlls (Qt5Core.dll ...) to a subfolder with
--libdir $(TargetDir)\qt\libs
And added that path to the qt.conf file.
It works fine in visual studio, but when I run the exe itself it still misses those dlls -
Did you check your
qt.conf
file ? -
of course.
Windows seems to look for those dlls at execution.
This means I did nothing wrong, but I think it's just not possible without adding those dlls to PATH similar on windows side.
-
Can you show your folder layout and qt.conf file content ?
-
This is the not working layout.
Moving the contents of libs back to the appdir and removing the Libraries entry from the .conf and windeployqt works fine.[Paths] Prefix = qt/ Plugins = plugins Libraries = libs
-
Are you using windeployqt with all options to set the paths you want to use ?
-
--libdir $(TargetDir)\qt\libs --plugindir $(TargetDir)\qt\plugins
the deploy works fine.
also plugins are found.
but windows can't find the other dlls.I guess it's simply not possible or Qt/Windows isn't supporting this yet
-
What if you use lib in place of libs ?
-
I can't imagine that would make any difference. I redefine the folder to libs, so lib should be irrelevant. Also I am 100% sure I tried that anyway.