Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Minimal icudt51.dll, icudt52.dll, icudt53.dll, icudt54.dll and icudt55.dll
QtWS25 Last Chance

Minimal icudt51.dll, icudt52.dll, icudt53.dll, icudt54.dll and icudt55.dll

Scheduled Pinned Locked Moved Installation and Deployment
icudt55.dllicudt54.dllicudt53.dllicudt52.dllicudt51.dllminimized dlls
16 Posts 10 Posters 25.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mcallegari79
    wrote on last edited by koahnig
    #1

    Hi, so I've spent a few hours on this topic and found...nothing (really) helpful.
    Qt 5 is great, nothing to say, but it's also terrible for some aspects.
    If you were used to Qt 4.8, you will find a few things on Qt5 giving you hard times.

    For example, deploying a hello world application in Windows will have an (unacceptable) size of around 30MB !
    This because Qt5 adopted ICU, which is great if you work heavily with internationalization and Webkit.
    However, even if you don't deploy QtWebkit, you still need 3 DLLs for the marvellous size of 26,4MB.

    So you have 2 options:

    • build Qt5 with no ICU support (takes a few hours on a good computer)
    • build ICU with a reduced data file

    It sounds incredible to me that someone is forced with one of those options, but moreover I am puzzled by the fact that I haven't been able to find a minimal icudt51.dll around the internet, even though the Qt community is huge.

    So, here we go, minimal DLLs built with MinGW 4.8 and 4.9 32bit.
    I created the basic dat file using this: http://apps.icu-project.org/datacustom/ICUData51.html
    I disabled everything except for

    • Base Data
    • Rule Based Number Format
    • Formatting, Display Names and Other Localized Data

    I used this great guide to build ICU: http://qt-project.org/wiki/Compiling-ICU-with-MinGW

    This is not an official DLL certified by the Qt project, so use it at your own risk. No viruses or crap inside. No VS compatibility granted. (even though it should work. If it does, be a gentleman and say it)

    Version 51 for Qt 5.1.x: http://www.qlcplus.org/misc/icudt51.dll (711Kb)
    Version 52 for Qt 5.3.x: http://www.qlcplus.org/misc/icudt52.dll (724Kb)
    Version 53 for Qt 5.4.x (thanks to frankiefrank): http://www.qlcplus.org/misc/icudt53.dll (834Kb)
    Version 54 for Qt 5.5.x: http://www.qlcplus.org/misc/icudt54.dll (812Kb)
    Version 55 for latest Qt in MSYS2: http://www.qlcplus.org/misc/icudt55.dll (717Kb)

    1 Reply Last reply
    4
    • JKSHJ Offline
      JKSHJ Offline
      JKSH
      Moderators
      wrote on last edited by
      #2

      Hi mcallegari79,

      Thank you for sharing your work! Lots of people have been asking for something like this.

      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

      1 Reply Last reply
      0
      • D Offline
        D Offline
        DavidGGG
        wrote on last edited by
        #3

        Brilliant! Works for me!

        1 Reply Last reply
        0
        • K Offline
          K Offline
          koahnig
          wrote on last edited by
          #4

          Excellent job. On quick look it does work for me as well,

          Vote the answer(s) that helped you to solve your issue(s)

          1 Reply Last reply
          0
          • M Offline
            M Offline
            maniek1310
            wrote on last edited by
            #5

            I found yet how to do that libraries icudt51.dll (22MB) icuin51.dll (3.5MB) icuuc51.dll (2Mb) were not needed at all.

            https://github.com/jakoch/qt-mini-deploy

            1 Reply Last reply
            0
            • F Offline
              F Offline
              frankiefrank
              wrote on last edited by
              #6

              Thank you for this. I will try this later for Qt 5.4 (which comes with icudt53.dll) and VS2010. Guess this is the relevant Wiki: http://qt-project.org/wiki/Compiling-ICU-with-MSVC

              "Roads? Where we're going, we don't need roads."

              1 Reply Last reply
              0
              • F Offline
                F Offline
                frankiefrank
                wrote on last edited by
                #7

                Thank you for this. I will try this later for Qt 5.4 (which comes with icudt53.dll) and VS2010. Guess this is the relevant Wiki: http://qt-project.org/wiki/Compiling-ICU-with-MSVC

                "Roads? Where we're going, we don't need roads."

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mcallegari79
                  wrote on last edited by
                  #8

                  [quote author="maniek1310" date="1393184654"]I found yet how to do that libraries icudt51.dll (22MB) icuin51.dll (3.5MB) icuuc51.dll (2Mb) were not needed at all.

                  https://github.com/jakoch/qt-mini-deploy[/quote]

                  They re-built Qt without the ICU support. Exactly what I wanted to avoid...

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mcallegari79
                    wrote on last edited by
                    #9

                    [quote author="maniek1310" date="1393184654"]I found yet how to do that libraries icudt51.dll (22MB) icuin51.dll (3.5MB) icuuc51.dll (2Mb) were not needed at all.

                    https://github.com/jakoch/qt-mini-deploy[/quote]

                    They re-built Qt without the ICU support. Exactly what I wanted to avoid...

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      Andriy Gerasika
                      wrote on last edited by
                      #10

                      Hello,
                      can you please also make minimized version of ICU 5.4 for Qt 5.5 use?

                      Thank You!

                      Proud author of FunnyBalloon game for kids.

                      M 1 Reply Last reply
                      0
                      • A Andriy Gerasika

                        Hello,
                        can you please also make minimized version of ICU 5.4 for Qt 5.5 use?

                        Thank You!

                        M Offline
                        M Offline
                        mcallegari79
                        wrote on last edited by mcallegari79
                        #11

                        @Andriy-Gerasika said:

                        Hello,
                        can you please also make minimized version of ICU 5.4 for Qt 5.5 use?

                        Thank You!

                        Upped ! See modified post. (I replied also on stackoverflow)

                        1 Reply Last reply
                        0
                        • hskoglundH Online
                          hskoglundH Online
                          hskoglund
                          wrote on last edited by hskoglund
                          #12

                          Also remember that among the many niceties that 5.5 brings, is that Qt5Core has stopped depending on the ICU DLLs

                          In other words, for many Qt apps that means don't need to ship the ICU DLLs at all, neither in the humongous original size or the optimized ones (just verified that with my own apps).

                          Edit: if you disable the Help plugin, you can even perform this stunt with Qt Creator (i.e. removing the icu*.dlls from C:\Qt\Tools\QtCreator\bin)

                          M 1 Reply Last reply
                          1
                          • hskoglundH hskoglund

                            Also remember that among the many niceties that 5.5 brings, is that Qt5Core has stopped depending on the ICU DLLs

                            In other words, for many Qt apps that means don't need to ship the ICU DLLs at all, neither in the humongous original size or the optimized ones (just verified that with my own apps).

                            Edit: if you disable the Help plugin, you can even perform this stunt with Qt Creator (i.e. removing the icu*.dlls from C:\Qt\Tools\QtCreator\bin)

                            M Offline
                            M Offline
                            mcallegari79
                            wrote on last edited by mcallegari79
                            #13

                            @hskoglund Thanks for the confirmation !
                            I was pretty sure I read it somewhere and I was a bit surprised when they asked for an ICU DLL for Qt 5.5.
                            So we'll finally being able to deploy a hello world application weighing less than 30 megs ! :)

                            Just one question though. The other day I built Qt 5.5.0 on Linux and I noticed there's still the -icu/-no-icu option.
                            Does it means that enabling it will affect only QtWebKit/QtWebEngine or will it fall down to QtCore thus bringing the issue back ?
                            How is the Digia Windows build configured ?

                            Thanks !

                            1 Reply Last reply
                            0
                            • hskoglundH Online
                              hskoglundH Online
                              hskoglund
                              wrote on last edited by
                              #14

                              Agreed, this is indeed excellent news (except that now I really have to update my blog post about deploying Qt :-(

                              Anyway, about your build question, I haven't tested building myself. But reading the comments in that bug report: what they did for 5.5 was removing "-icu" when building Qt. Turns out QtCore was cleansed from any dependencies already in 5.4. but removing the switch did the trick...

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                Lobstw
                                wrote on last edited by
                                #15

                                Thank you very much for this!
                                Could someone make it clear though what icudt dlls are used for in a program? If I've built a program that's now an .exe with the .dll dependancies I can see that running the .exe does use these ICU dll BUT deleting them doesn't change anything?

                                1 Reply Last reply
                                0
                                • C Offline
                                  C Offline
                                  corey
                                  wrote on last edited by
                                  #16

                                  Thank you very much!

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved