C++ 如何打开;C++;0X";在Android ndk(r7)中编译.cpp文件时的实验标准?
在检查“android-ndk-linux_x86/sources/cxx stl/gnu libstdc++/include/memory”头文件时,我发现根据C++ 如何打开;C++;0X";在Android ndk(r7)中编译.cpp文件时的实验标准?,c++,android-ndk,C++,Android Ndk,在检查“android-ndk-linux_x86/sources/cxx stl/gnu libstdc++/include/memory”头文件时,我发现根据 __GXX_EXPERIMENTAL_CXX0X__ 旗帜。我认为这个标志与“C++0X”标准有关,这个标准可能在Android ndk r7中还处于试验阶段。但是,我希望在我的项目中打开这个C++标准。(我不确定此“C++0X”标准是否已默认打开) 我想知道,当我编译Android项目的“project/jni”目录中的.cpp文
__GXX_EXPERIMENTAL_CXX0X__
旗帜。我认为这个标志与“C++0X”标准有关,这个标准可能在Android ndk r7中还处于试验阶段。但是,我希望在我的项目中打开这个C++标准。(我不确定此“C++0X”标准是否已默认打开)
我想知道,当我编译Android项目的“project/jni”目录中的.cpp文件时,我应该如何告诉Android ndk设置这个标志。或者如何在我的应用程序中启用实验性的“C++0X”标准
我是否需要在“Android.mk”/“Application.mk”文件中使用例如LOCAL_CPPFLAGS和/或APP_CPPFLAGS指定标志。(我在“Application.mk”中使用“APP_STL:=gnustl_static”)
谢谢你的建议
Lawrence TsangC++03不是实验标准;这是默认设置
然而,C++0X是一个实验性的标准。它的正式名称现在被设置为C++11,但在GCC(以及其他地方)中的实现是不完整的。您可以通过将
--std=c++0x
传递给GCC来启用它。记得在抱怨有东西坏了之前检查一下。C++03标准在2003年就已经存在了,可能你指的是C++11标准。@Als根据bdonlan,我指的是“C++0X”标准。我改变了我的问题,以反映这一点。“您可以通过将--std=c++0x传递给GCC来启用它”,但在Android ndk环境中,我如何将--std=c++0x传递给编译器呢。我正在使用“ndk build”,希望通过“Android.mk”/“Application.mk”文件指定编译选项。将“LOCAL_CPPFLAGS=-std=c++0x”添加到“Android.mk”中是可行的。谢谢