如何在Android-ndk(r7)中编译.cpp文件时打开“C ++ 0X”实验标准?

时间:2012-01-16 04:44:18

标签: c++ android-ndk

在检查“android-ndk-linux_x86 / sources / cxx-stl / gnu-libstdc ++ / include / memory”头文件时,我发现此头文件包含其他STL头文件

__GXX_EXPERIMENTAL_CXX0X__

标记。我认为这个标志与“C ++ 0X”标准有关,这个标准可能在Android-ndk r7中是实验性的。但是,我想在我的项目中打开这个C ++标准。 (我不确定这个“C ++ 0X”标准是否默认开启)

我想知道在编译Android项目的“project / jni”目录中的.cpp文件时,如何告诉Android-ndk设置此标志。或者我怎么能在我的应用程序中打开实验性的“C ++ 0X”标准。

我是否需要使用指定标志,例如LOCAL_CPPFLAGS和/或APP_CPPFLAGS,位于“Android.mk”/“Application.mk”文件中。 (我在“Application.mk”中使用“APP_STL:= gnustl_static”)

感谢您的任何建议。

Lawrence Tsang

1 个答案:

答案 0 :(得分:7)

C ++ 03不是实验标准;这是默认值。

然而,C ++ 0X是一个实验标准。它的官方名称现已设置为C ++ 11,但在GCC(以及其他任何地方)的实现都不完整。您可以通过将--std=c++0x传递给GCC来启用它。在抱怨某些内容被破坏之前,请务必检查feature status page