Important: Please read the Qt Code of Conduct -

Building qt5.1 for android on mac

  • I'm trying to build qt5.1 beta on mac for android. Here is steps i passed:

    1. Installed Android SDK
    2. Installed Android NDK
    3. With NDK tools downloaded and installed neccessary platforms
    4. Made attempt to build qt
      Latest step is main problem now. I got following error during building:

    In file included from ./wtf/unicode/Unicode.h:34:0,
    from ./wtf/text/ASCIIFastPath.h:30,
    from ./wtf/text/WTFString.h:28,
    from wtf/DateMath.h:54,
    from wtf/DateMath.cpp:73:
    ./wtf/unicode/icu/UnicodeIcu.h:27:27: fatal error: unicode/uchar.h: No such file or directory

    Perhaps i can skip webkit building but i need webkit. As i understood problem is in lack of ICU library in installed android platforms. I.e. now i need build ICU. I cloned it from but now i just can't understand how to build it. How to run configure to configure ICU for android? How to build it? How to make icu library available for further qt build? Could anybody help?

  • Also i tryed following:

    1. Create folder icu4c-android
    2. cd icu4c-android
    3. git clone jni
    4. $NDK_ROOT/ndk-build
      And got errors:
      Android NDK: WARNING: Unsupported source file extensions in jni/i18n/ for module icui18n
      Android NDK: smpdtfst.h
      Compile++ thumb : icui18n <= dtptngen.cpp
      jni/i18n/dtptngen.cpp: In member function 'void icu_50::DateTimePatternGenerator::addICUPatterns(const icu_50::Locale&, UErrorCode&)':
      jni/i18n/dtptngen.cpp:420:68: error: 'dynamic_cast' not permitted with -fno-rtti
      jni/i18n/dtptngen.cpp:430:68: error: 'dynamic_cast' not permitted with -fno-rtti
      make: *** [obj/local/armeabi/objs/icui18n/dtptngen.o] Error 1

    I suspect i need run configure script but how to do it to configure for android?

Log in to reply