Building qt-android on windows

From Qt Wiki
Revision as of 14:12, 14 January 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Building Qt/Android on Windows

Tested last time on stable-a4d41f6 2013-06-19

Note, it is not currently possible to use Microsoft’s compilers to build the Windows host tools for Qt Android.

—————————— Configuration ——————————

  • Install the latest Perl:
    http://strawberryperl.com/
    Select Destination folder (we’ll call this <PERL_ROOT>, and refer similarly to other install locations).
  • Open cmd.exe window and perform some checks:
    Ensure “where gcc.exe” lists <MINGW_ROOT>\bin\gcc.exe first (before <PERL_ROOT>\c\bin\gcc.exe)
    Ensure “where mingw32-make.exe” lists <MINGW_ROOT>\bin\mingw32-make.exe first.
    Ensure “where perl.exe” lists <PERL_ROOT>\perl\bin\perl.exe first.
    Ensure “where javac.exe” lists <JDK_ROOT>\bin first.
  • Add some environment variables:
    set “ANDROID_NDK_PLATFORM=android-9”
    set “ANDROID_TARGET_ARCH=armeabi-v7a”
    set “ANDROID_BUILD_TOOLS_REVISION=17.0.0”
    set “ANDROID_NDK_HOST=windows-x86_64”
    or
    set “ANDROID_NDK_HOST=windows”
    .. depending on which NDK you downloaded.

—————————— Cloning ——————————

  • Make the root folder for the Qt/Android build:
    Make sure there are no spaces in this path and that it doesn’t contain too many characters.
    I went for “C:\work\build”

—————————— Build steps ——————————

..where <N> is the number of parallel jobs your system can optimally exploit. If you have trouble, remove the -j<N>, and try again.

—————————— Finally ——————————

You can also build Qt/Android from the MSYS shell – the one from mingw-builds that you already downloaded – following much the same procedure and using exactly the same software. This is currently left as an exercise for the reader.