Building qt-android on windows
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:
Select Destination folder (we’ll call this <PERL_ROOT>, and refer similarly to other install locations).
- Install the latest mingwbuilds MSYS and external binaries (for git):
Extract this to <MINGW_BUILDS_ROOT> (I use C:\mingw-builds\ so I end up with C:\mingw-builds\msys\)
- Install the latest MinGW-w64 from mingwbuilds:
extract to <MINGW_BUILDS_ROOT> and add <MINGW_BUILDS_ROOT>\mingw32\bin to the front of your PATH.
- Install the latest JDK 7:
Add <JDK_ROOT>\bin to PATH.
- Install Android NDK:
Extract to <ANDROID_NDK_ROOT>
- Install the latest Android SDK (tools only):
Run the SDK and install Platform 10 to <ANDROID_SDK>
For building QtMultimedia, also install Platform 11.
- 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:
.. 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”
- Follow step 4 at http://wiki.qt.io/Qt5ForAndroidBuilding
—————————— 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.
- Follow steps 8..11 at http://wiki.qt.io/Qt5ForAndroidBuilding (replacing make with mingw32-make.exe)
—————————— 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.