QT 5.1.1 minimal build

1,443 views
Skip to first unread message

Dušan D. Majkić

unread,
Sep 26, 2013, 7:19:29 PM9/26/13
to qtcon...@googlegroups.com
Time has come to move to Qt5. since I have no exit error with Qt
5.1.1. on XP. The main problem with Qt5 is that it includes more dlls,
and char-conversion files making it significantly larger for
deployment. The good news is that you can manually build Qt without
unnecessary libs.

So I built Qt 5.1.1 without icu, iconv, and other extra dependencies.
You can find it here:

http://sdrv.ms/1h6Hiwj

Mingw used for building is the one noted on Qt site, and it is a good
practice to also build HB witth it.

This zip is 10Mb, and it contains mingw runtime libs, QtCore, QtGui,
QtWidgets, QtNetwork (can be skipped), some extra development utils
(rcc, moc, uic) and plugns that you can also skip in deployment.

Regards,
Dusan Majkic
Wings Software

Pritpal Bedi

unread,
Sep 26, 2013, 8:08:18 PM9/26/13
to qtcon...@googlegroups.com
Hi
The question is:

Why do you need to build Qt as reduced one. Their binary distro is sufficient.
For deployment, you only have to copy _ONLY_REQUIRED__ dlls, in your case, 
QtWidgets,QtCore, QtGui only plus couple of mingw specific dlls along with your 
application. Bundelling the Deploying Qt dll depends on application's dependency, no ?

Or I am missing something else ?

Pritpal Bedi

Dušan D. Majkić

unread,
Sep 27, 2013, 4:41:01 AM9/27/13
to qtcon...@googlegroups.com
> Or I am missing something else ?

In their distro Qt5Core.dll depends on these dll-s:

icudt51.dll (22Mb)
icuin51.dll (3.5Mb)
icuuc51.dll (2Mb)

Those must be distributed with app, which in turn makes distribution
27Mb larger.

ICU is used for code pages, colation, etc... Harbour has its own code
page support, so ICU is (at least in my case) obsolete. As I see it,
making app 27Mb smaller i a gain.

My local build of Qt is without ICU, so Qt5Core.dll doesn't depend on ICU.

Pritpal Bedi

unread,
Sep 27, 2013, 4:53:27 AM9/27/13
to qtcon...@googlegroups.com
Hi
This makes sense, a good discovery.


Pritpal Bedi 

Francesco Perillo

unread,
Sep 27, 2013, 5:02:56 AM9/27/13
to qtcontribs
Hi Dusan,
it would be nice if you explain the steps you did for building Qt. I did once in the past under linux but in windows there are some more prerequisites.

I ask you also to look at disabling exception handling. It should reduce file size and execution time and as a side effect, avoid some of the coredumps we had in the past at exit time (I must say that with Qt 5.1.1 I didn't get these coredumps yet, but recompiling without exception handling was suggested in various threads in the past).

Just yesterday I was installing an application to a remote workstation, and I had to upload the following files to have the program starting (do this list match your?):

./libwinpthread-1.dll
./qt5widgets.dll
./icuuc51.dll
./libgcc_s_dw2-1.dll
./qt5core.dll
./qt5printsupport.dll
./icudt51.dll
./qt5gui.dll
./icuin51.dll
./libstdc++-6.dll
./platforms/qwindows.dll
./platforms/qminimal.dll

Thanks
Francesco



--
You received this message because you are subscribed to the Google Groups "QtContribs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qtcontribs+...@googlegroups.com.
To post to this group, send email to qtcon...@googlegroups.com.
Visit this group at http://groups.google.com/group/qtcontribs.
For more options, visit https://groups.google.com/groups/opt_out.

Luigi Ferraris

unread,
Sep 27, 2013, 5:28:21 AM9/27/13
to qtcon...@googlegroups.com
Il 27/09/2013 11.02, Francesco Perillo ha scritto:
> Just yesterday I was installing an application to a remote
> workstation, and I had to upload the following files to have the
> program starting (do this list match your?):
>
> ./libwinpthread-1.dll
> ./qt5widgets.dll
> ./icuuc51.dll
> ./libgcc_s_dw2-1.dll
> ./qt5core.dll
> ./qt5printsupport.dll
> ./icudt51.dll
> ./qt5gui.dll
> ./icuin51.dll
> ./libstdc++-6.dll
> ./platforms/qwindows.dll
> ./platforms/qminimal.dll
Without recompile Qt I have add
D3DCompiler_43.dll
LIBGLESv2.dll

about plugins
/printsupport/windowsprintersupport.dll
/imagesformats/*.dll without "d"

Luigi Ferraris

Dušan D. Majkić

unread,
Sep 27, 2013, 6:05:35 AM9/27/13
to qtcon...@googlegroups.com
> it would be nice if you explain the steps you did for building Qt.

Not an easy task. I got Perl, Python, Ruby and MinGw/bin in path and
use this line

configure -opensource -confirm-license -platform win32-g++ -make libs
-qt-libjpeg -qt-libpng -no-openssl -no-icu -qt-zlib -qt-pcre
-no-iconv -nomake examples -nomake tests -qt-style-windowsxp
-qt-style-windowsvista -opengl
desktop

mingw32-make

> I ask you also to look at disabling exception handling.

Will try over the weekend. Building Qt renders my (over-aged) computer
unusable for other tasks.

> Just yesterday I was installing an application to a remote workstation, and
> I had to upload the following files to have the program starting (do this
> list match your?):
>
> ./libwinpthread-1.dll
> ./qt5widgets.dll
> ./icuuc51.dll
> ./libgcc_s_dw2-1.dll
> ./qt5core.dll
> ./qt5printsupport.dll
> ./icudt51.dll
> ./qt5gui.dll
> ./icuin51.dll
> ./libstdc++-6.dll
> ./platforms/qwindows.dll
> ./platforms/qminimal.dll

icu*.dll are not needed.

@Luigi: also it is configured with -opengl desktop, which links
OpenGL.dll which comes with Windows, so D3D and GLESv2 should not be
dependencies. I have no accceess to pure vanilla installed XP, so I
did not test that. Also, I didn't exclude OpenGL with -no-opengl.

Pritpal Bedi

unread,
Dec 16, 2013, 6:21:15 PM12/16/13
to qtcon...@googlegroups.com
Hi


So I built Qt 5.1.1 without icu, iconv, and other extra dependencies.
You can find it here:


Can you do it again fot Qt 5.2 ?


Pritpal Bedi 

Dušan D. Majkić

unread,
Dec 17, 2013, 4:23:59 AM12/17/13
to qtcon...@googlegroups.com
> Can you do it again fot Qt 5.2 ?

Will try.

Regards,
Dusan Majkic
Wings Software.
Reply all
Reply to author
Forward
0 new messages