Building qt-android on windows: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
=Building Qt/Android on Windows= | =Building Qt/Android on Windows= | ||
Tested last time on | Tested last time on branch 5.4 2015-01-22 | ||
Note, it is not currently possible to use Microsoft’s compilers to build the Windows host tools for Qt Android. | Note, it is not currently possible to use Microsoft’s compilers to build the Windows host tools for Qt Android. | ||
Line 15: | Line 15: | ||
* '''Install the latest <span class="caps">JDK</span> 7:'''<br />http://www.oracle.com/technetwork/java/javase/downloads/index.html<br /> Add <<span class="caps">JDK</span>_ROOT>\bin to <span class="caps">PATH</span>. | * '''Install the latest <span class="caps">JDK</span> 7:'''<br />http://www.oracle.com/technetwork/java/javase/downloads/index.html<br /> Add <<span class="caps">JDK</span>_ROOT>\bin to <span class="caps">PATH</span>. | ||
* '''Install Android <span class="caps">NDK</span>:'''<br />https://developer.android.com/tools/sdk/ndk/index.html<br /> Extract to <<span class="caps">ANDROID</span> | * '''Install Android <span class="caps">NDK</span>:'''<br />https://developer.android.com/tools/sdk/ndk/index.html<br /> Extract to <<span class="caps">ANDROID</span>_NDK_PATH><br /> If you have ndk9 installed update it to latest version cause it doesn’t work any more. | ||
* '''Install the latest Android <span class="caps">SDK</span> (tools only):'''<br />http://developer.android.com/sdk/index.html<br /> Run the <span class="caps">SDK</span> and install | * '''Install the latest Android <span class="caps">SDK</span> (tools only):'''<br />http://developer.android.com/sdk/index.html<br /> Run the Android <span class="caps">SDK</span> Manager and install the latest version of “<span class="caps">SDK</span> Platform”, “Google <span class="caps">API</span>s” and “build-tools” in <<span class="caps">ANDROID</span>_SDK_PATH> | ||
* '''Open cmd.exe window and perform some checks:'''<br /> Ensure “where gcc.exe” lists <<span class="caps">MINGW</span>_ROOT>\bin\gcc.exe first (before <<span class="caps">PERL</span>_ROOT>\c\bin\gcc.exe)<br /> Ensure “where mingw32-make.exe” lists <<span class="caps">MINGW</span>_ROOT>\bin\mingw32-make.exe first.<br /> Ensure “where perl.exe” lists <<span class="caps">PERL</span>_ROOT>\perl\bin\perl.exe first.<br /> Ensure “where javac.exe” lists <<span class="caps">JDK</span>_ROOT>\bin first. | * '''Open cmd.exe window and perform some checks:'''<br /> Ensure “where gcc.exe” lists <<span class="caps">MINGW</span>_ROOT>\bin\gcc.exe first (before <<span class="caps">PERL</span>_ROOT>\c\bin\gcc.exe)<br /> Ensure “where mingw32-make.exe” lists <<span class="caps">MINGW</span>_ROOT>\bin\mingw32-make.exe first.<br /> Ensure “where perl.exe” lists <<span class="caps">PERL</span>_ROOT>\perl\bin\perl.exe first.<br /> Ensure “where javac.exe” lists <<span class="caps">JDK</span>_ROOT>\bin first. | ||
* '''Add some environment variables:'''<br /> set “<span class="caps">ANDROID</span> | * '''Add some environment variables:'''<br /> set “<span class="caps">ANDROID</span>_API_VERSION=android-21”<br /> set “<span class="caps">ANDROID</span>_SDK_ROOT=<<span class="caps">ANDROID</span>_SDK_PATH>”<br /> set “<span class="caps">ANDROID</span>_TARGET_ARCH=armeabi-v7a”<br /> set “<span class="caps">ANDROID</span>_BUILD_TOOLS_REVISION=21.1.2”<br /> set “<span class="caps">ANDROID</span>_NDK_PATH=<<span class="caps">ANDROID</span>_NDK_PATH>”<br /> set “<span class="caps">ANDROID</span>_TOOLCHAIN_VERSION=4.9”<br /> set “<span class="caps">ANDROID</span>_NDK_HOST=windows-x86_64”<br /> or<br /> set “<span class="caps">ANDROID</span>_NDK_HOST=windows”<br /> .. depending on which <span class="caps">NDK</span> you downloaded. | ||
==—————————— Cloning ——————————== | ==—————————— Cloning ——————————== |
Revision as of 07:16, 10 February 2015
Building Qt/Android on Windows
Tested last time on branch 5.4 2015-01-22
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).
- Install the latest mingwbuilds MSYS and external binaries (for git):
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys+7za+wget+svn+git+mercurial+cvs-rev13.7z/download
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:
http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/32-bit/threads-win32/dwarf/x32-4.8.1-release-win32-dwarf-rev1.7z/download
extract to <MINGW_BUILDS_ROOT> and add <MINGW_BUILDS_ROOT>\mingw32\bin to the front of your PATH.
- Install the latest JDK 7:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Add <JDK_ROOT>\bin to PATH.
- Install Android NDK:
https://developer.android.com/tools/sdk/ndk/index.html
Extract to <ANDROID_NDK_PATH>
If you have ndk9 installed update it to latest version cause it doesn’t work any more.
- Install the latest Android SDK (tools only):
http://developer.android.com/sdk/index.html
Run the Android SDK Manager and install the latest version of “SDK Platform”, “Google APIs” and “build-tools” in <ANDROID_SDK_PATH>
- 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_API_VERSION=android-21”
set “ANDROID_SDK_ROOT=<ANDROID_SDK_PATH>”
set “ANDROID_TARGET_ARCH=armeabi-v7a”
set “ANDROID_BUILD_TOOLS_REVISION=21.1.2”
set “ANDROID_NDK_PATH=<ANDROID_NDK_PATH>”
set “ANDROID_TOOLCHAIN_VERSION=4.9”
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”
- 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.