Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Why does qt5core depend on ICU?

Why does qt5core depend on ICU?

Scheduled Pinned Locked Moved General and Desktop
8 Posts 4 Posters 4.2k 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.
  • P Offline
    P Offline
    philk
    wrote on last edited by
    #1

    According to the docs ICU is optional and only required for webkit. However, the Windows DLLs of qt5core and others (beside webkit) have all hard-linked dependencies to the ICU libraries.
    I wonder if that is a bug or intentional?

    @
    Imports from ICUIN51.DLL
    ucol_close_51
    ucol_getAttribute_51
    ucol_getSortKey_51
    ucol_open_51
    ucol_setAttribute_51
    ucol_strcoll_51
    @

    @
    Imports from ICUUC51.DLL
    u_errorName_51
    u_strToLower_51
    u_strToUpper_51
    ucnv_close_51
    ucnv_compareNames_51
    ucnv_countAliases_51
    ucnv_countAvailable_51
    ucnv_fromUnicode_51
    ucnv_getAlias_51
    ucnv_getAvailableName_51
    ucnv_getDefaultName_51
    ucnv_getMaxCharSize_51
    ucnv_getStandardName_51
    ucnv_open_51
    ucnv_setSubstChars_51
    ucnv_toUnicode_51
    ures_close_51
    ures_getStringByKey_51
    ures_open_51
    @

    1 Reply Last reply
    0
    • C Offline
      C Offline
      ChrisW67
      wrote on last edited by
      #2

      [quote author="philk" date="1375827052"]Why does qt5core depend on ICU?[/quote]
      That is how it was built.
      [quote]According to the docs ICU is optional and only required for webkit. [/quote]
      ICU has always been required by WebKit. The remainder of Qt4 did not require ICU. For Qt5 a conscious decision was taken to migrate toward use of ICU for localisation:
      http://qt-project.org/wiki/Qt-5-ICU
      The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option.

      1 Reply Last reply
      0
      • sierdzioS Offline
        sierdzioS Offline
        sierdzio
        Moderators
        wrote on last edited by
        #3

        [quote author="ChrisW67" date="1375828974"]The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option.[/quote]

        Which is: -no-icu.

        (Z(:^

        1 Reply Last reply
        0
        • P Offline
          P Offline
          philk
          wrote on last edited by
          #4

          I just wish, the ICU stuff would be split into several tiny libs and not one huge 20MB runtime, that you have to deploy. Or for the Win32 version of the libs it would just interface with the OS Unicode functions, which should be enough.

          1 Reply Last reply
          0
          • sierdzioS Offline
            sierdzioS Offline
            sierdzio
            Moderators
            wrote on last edited by
            #5

            [quote author="philk" date="1375862312"]I just wish, the ICU stuff would be split into several tiny libs and not one huge 20MB runtime, that you have to deploy. Or for the Win32 version of the libs it would just interface with the OS Unicode functions, which should be enough.[/quote]

            This is possible and is being discussed on dev mailing list right now. Future Qt versions will likely handle the stuff much better. For now - AFAIK - you can customise ICU installation yourself when you compile it.

            (Z(:^

            1 Reply Last reply
            0
            • M Offline
              M Offline
              MuldeR
              wrote on last edited by
              #6

              [quote author="sierdzio" date="1375857372"][quote author="ChrisW67" date="1375828974"]The pre-compiled Qt5 binaries all use ICU but you can build Qt5 without ICU using the appropriate configure option.[/quote]

              Which is: -no-icu.[/quote]

              What functionality, besides Webkit, do I loose with that configure option?

              My OpenSource software at: http://muldersoft.com/

              Qt v4.8.6 MSVC 2013, static/shared: http://goo.gl/BXqhrS

              Go visit the coop: http://youtu.be/Jay...

              1 Reply Last reply
              0
              • P Offline
                P Offline
                philk
                wrote on last edited by
                #7

                [quote author="sierdzio" date="1375862679"]This is possible and is being discussed on dev mailing list right now. Future Qt versions will likely handle the stuff much better. [/quote]

                Good to know, its being discussed. This also hurt me back in the Eclipse Java days, where the IBM ICU stuff was also insanely big. Most apps are not that far i18n that they would need all that from one big ICU package.

                1 Reply Last reply
                0
                • sierdzioS Offline
                  sierdzioS Offline
                  sierdzio
                  Moderators
                  wrote on last edited by
                  #8

                  [quote author="MuldeR" date="1375872597"][quote author="sierdzio" date="1375857372"]Which is: -no-icu.[/quote]

                  What functionality, besides Webkit, do I loose with that configure option?

                  [/quote]

                  AFAIK, you are back to good old Qt4 days then. So if it had worked for you in Qt4, it will continue to work in 5, even without ICU.

                  (Z(:^

                  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