The windeployqt tool that comes with Qt 5.2
-
[quote author="JKSH" date="1396918207"]The windeployqt tool that comes with Qt 5.2 ... [/quote]
am i missed something, where is it?[edit : splitting this off since this gets into another topic., and using the new title easier to find, Eddy]
-
[quote author="qxoz" date="1396928953"][quote author="JKSH" date="1396918207"]The windeployqt tool that comes with Qt 5.2 ... [/quote]
am i missed something, where is it?[/quote]C:<Qt>\bin\windeployqt.exe -
Doesn't really work for me!? I always get this:
bq. MyApp.exe: 32bit, release executable[QML]
Unable to locate ICU library icuin51.dlleven when I specify the bin dir myself (icuin51.dll is in there!)
@
C:\Qt\5.2.1\mingw48_32\bin\windeployqt.exe --dir C
:\Qt\5.2.1\mingw48_32\bin MyApp.exe
@am I using it wrong? I don't see much doc but it doen't work for me, I rather stick to manual deployment then haha
-
Yeah, because it suffers from exactly the problems I described ;)
It's PATH dependent. If you do
@
set PATH=C:\Qt\5.2.1\mingw48_32\bin;%PATH%
@
before you use it it will work. Of course if you have different Qt in the path it will mess up your app ;) I guess it's meant to be run from an IDE that sets these paths for you (probably it's meant for WinRT deployment).
Apart from that it doesn't handle plugins well (it just tosses them all in) and doesn't handle compiler runtime at all.
But I guess it can be a starting point for a deployment script. I didn't know it existed. It's nice to see someone is working on that. -
Hi, in Qt5.3 windeployqt gets a slight boost: it will also copy in the compiler runtime DLLs (both MinGW- and VS-flavor).
Also for the PATH fiddling, when you install Qt on Windows, it will create a .bat file in C:\Qt\5.2.1\mingw48_32\bin called qtenv2.bat. (I.e. an easy way to set the path to your Qt.)
-
this is a good news :)
-
I got exactly the same error
@Unable to locate ICU library icuin52.dll@In this thread am i blind or is there a solution in an answer?
I mean what are the steps to fix the problem?I have run qtenv2.bat, same error
I have Win8.1, qt 5.3.2 and its bin folder is located at C:\Qt\5.3\mingw482_32\bin, and my .exe released file is located at C:\Users\Leon\Desktop\applib\app.exe
P.S newbie on deploying here
-
This post is deleted! -
Two choices:
1)
open command prompt
execute: C:\Qt\5.3\mingw482_32\bin\qtenv2.bat
execute C:\Qt\5.3\mingw482_32\bin\windeployqt X:/path/to/your/app.exeYou might need to play around with windeployqt parameters if you don't need everything eg. translations, plugins etc.
go to C:\Qt\5.3\mingw482_32\bin
manually copy any dlls you need to X:/path/to/your/app/directory/ -
This post is deleted! -
Also, you could have some remnants of Qt 5.2 in your Win8.1 PC, because Qt 5.3.2 uses icuin52.dll, not icuin51.dll.
So also perhaps check, what version of Qt windeployqt you have, type:
windeployqt -v -
This post is deleted! -
@hskoglund - nice catch!
-
This post is deleted! -
@chris: thanks, I did some compiling/testing of those icu*.dll chaps this summer because of this "bug":https://bugreports.qt-project.org/browse/QTBUG-39640
It won't be fixed, but now that VS2015 is upon us, VS2012 is kind of obsolete anyway :-)
-
This post is deleted! -
This sounds scary to debug if you don't know what to look for. I'm glad it's not me who had to deal with that :P
And yeah, the split in VS2015 will undoubtedly cause some problems for people deploying their apps and looking for that MSVCR140 that is no longer there. -
This post is deleted! -
Chris Kawa
2) I have actually managed to gather every dll needed, one by one, in order to run my .exe in another Pc not having qt installed. But it took me 20 minutes to delete one by one and my final folder should look like this:
"http://i.imgur.com/wmyXybO.png":http://i.imgur.com/wmyXybO.png- Didn't know i must run the dat from command, a lot of plugins got copied that was not neccesarry for running the .exe... (but they total 4mb) .. Is it for other version of Windows? I mean for example why do i need windowsprintersupport.dll? I don't use any kind of printing functions.. So which method is correct?
hskoglund
I edited my answer, it was icuin52.dll, i copied the error from google. -
This post is deleted!