Android NDK r16: Developers Should Start Using LLVM's libc++ With GCC On The Way Out
Written by Michael Larabel in Google on 6 September 2017 at 03:45 PM EDT. 27 Comments
Google has announced the availability today of the Android Native Development Kit (NDK) Release 16. This release is worth mentioning in that Google is now encouraging developers to start using libc++ as their C++ standard library.

Moving forward, Google will only be supporting LLVM's libc++ as the C++ standard library and not supporting other STLs. The Android platform has already been using libc++ since Lollipop and now they are looking to get more application developers using this STL.

Among the reasons they are pushing libc++ is for its full C++11/C++14 support and nearly complete C++1z (C++17) support. Meanwhile, Stlport hasn't been updated in almost a decade and GNU's libstdc++ isn't recommended since it doesn't play too well with the LLVM Clang compiler.

More broadly, GCC support is being dropped. Noted in the r16 change-log, "GCC is no longer supported. It will not be removed from the NDK just yet, but is no longer receiving backports. It cannot be removed until after libc++ has become stable enough to be the default, as some parts of gnustl are still incompatible with Clang. It will be removed when the other STLs are removed in r18."

Libc++ will likely become the default in the next Android NDK release.

More details via today's NDK r16 announcement and the release notes.
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Related Google News
Popular News This Week