[Development] Time to switch to android-clang

Sergio Martins sergio.martins at kdab.com
Tue Dec 19 12:25:17 CET 2017

Hi all,

We need to start offering pre-built android binaries built with 
android-clang and bump our minimum supported NDK version.

gcc on android is pretty much dead since 2016:

"GCC is no longer supported. It will be removed in NDK r18.
libc++ is now the default STL for CMake and standalone toolchains. If 
you manually selected a different STL, we strongly encourage you to move 
to libc++
gnustl and stlport are deprecated and will be removed in NDK r18. [1] "

And the latest shipped gcc (4.9.2) is crashy [2], forcing gcc users to 
stay on ndk r10.

The problem of clang generating bigger binaries was much improved with 
-Oz, now size increase is only 10%.

Many users are already switching to android-clang due to the shipped gnu 
libstdc++ having incomplete C++11 and then complaining the pre-built 
binaries not being able to compile for clang+libc++.

Furthermore, supporting both android and android-clang is a maintenance 
burden: the mkspecs are often broken, either because of a new Qt version 
or because of a new NDK version. Then you have to test not only gcc and 
clang, but also test builds with the older NDKs.
So we should also bump the NDK.

[1] - https://developer.android.com/ndk/downloads/revision_history.html
[2] - 

SĂ©rgio Martins | sergio.martins at kdab.com | Senior Software Engineer
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel: Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - The Qt, C++ and OpenGL Experts

More information about the Development mailing list