15

Android NDK で C++11 スレッド機能を使用しようとしていますが、最新のコンパイラを使用する方法がわかりません。

私は Clang 3.2 を持っており、iOS アプリをビルドできます。Android NDKでそれを行う方法があるのだろうか?

そうでない場合、gcc 4.8 でどのようにビルドすればよいですか?

4

6 に答える 6

18

(私は NDK バージョン r9b に対処しています) アプリケーションのすべてのソース コード (および含まれるすべてのモジュール) に対して C++11 サポートを有効にするには、Application.mk で次の変更を行います。

# use this to select gcc instead of clang
NDK_TOOLCHAIN_VERSION := 4.8
# OR use this to select the latest clang version:
NDK_TOOLCHAIN_VERSION := clang


# then enable c++11 extentions in source code
APP_CPPFLAGS += -std=c++11
# or use APP_CPPFLAGS := -std=gnu++11

それ以外の場合、モジュールでのみ C++11 をサポートする場合は、APP_CPPFLAGS を使用する代わりに、この行を Android.mk に追加します。

LOCAL_CPPFLAGS += -std=c++11

詳細はこちら: http://adec.altervista.org/blog/ndk_c11_support/

于 2013-11-09T10:20:15.413 に答える
2

NDK リビジョン 8eには、Clang 3.2 コンパイラがバンドルされています。それを使用すれば、準備完了です。

于 2013-06-19T05:09:46.513 に答える