C++ 如何编译c++;11使用android ndk和eclipse的代码?
我使用的是安卓NDKR8D和EclipseJuno。我尝试编译C++代码,它使用了C++ 11的东西,如代码>互斥< <代码>,<代码> CuxyGueGue<代码>,<代码> SydDypTr> <代码>等。 我会遇到如下错误: “错误:'shared_ptr'不是'std'的成员” “致命错误:互斥:没有这样的文件或目录” 我遇到了一个类似的问题。这似乎对他们有用,但那里的解释不完整,所以我无法让它对我有用 我在C++ 如何编译c++;11使用android ndk和eclipse的代码?,c++,gcc,c++11,android-ndk,smart-pointers,C++,Gcc,C++11,Android Ndk,Smart Pointers,我使用的是安卓NDKR8D和EclipseJuno。我尝试编译C++代码,它使用了C++ 11的东西,如代码>互斥< , CuxyGueGue, SydDypTr> 等。 我会遇到如下错误: “错误:'shared_ptr'不是'std'的成员” “致命错误:互斥:没有这样的文件或目录” 我遇到了一个类似的问题。这似乎对他们有用,但那里的解释不完整,所以我无法让它对我有用 我在应用程序.mk中添加了“NDK\u TOOLCHAIN\u VERSION=4.7”,在Android.mk文件中添加了
应用程序.mk
中添加了“NDK\u TOOLCHAIN\u VERSION=4.7”
,在Android.mk
文件中添加了“LOCAL\CFLAGS+=-std=c++11”
。不过,它并没有编译
在上面的链接中,它说:
“确保标准库包含路径(如
/android-ndk-r8d/sources/cxx stl/gnu libstdc++/4.7/include)位于
目标设置。”
如何以及在何处插入
我还发现EclipseIDE中有错误(在源代码上,编译之前)。我知道我应该定义“\uuuuugxx\ucx0x\uuuxx”
来解决它们,但我不知道该放在哪里
因此,如果有人能给出一个完整的答案,解释如何使用C++11编译并使eclipse工作,那就太好了。关于你的第一个问题:
我在其他地方读到过,它应该添加到“C/C++常规/路径和符号/符号/GNU C++”,但在我的Indigo版本中找不到“符号/GNU C++”部分。我发现在启动eclipse之前导出环境变量NDK_TOOLCHAIN_version=4.8可以解决这个问题
Eclipse使用ndk的默认工具链版本4.6,如果ndk_工具链版本未定义,并且此版本不支持所有c++11的未来,如多线程等。阅读ndk文档,则不可能。看来他们管理了你使用C++的编译器吗?@ nAxchange我使用的是Android的NDK中包含的工具链,我相信这是Gcc/g++。在我编写时,我将其设置为
“NDK\u TOOLCHAIN\u VERSION=4.7”
。有一个问题,我使用EclipseJuno,我也没有“符号/GNUC++”部分,如果不定义“GXX_实验_CXX0X”,索引器将无法识别C++11的内容。你用ndk编译代码了吗?是的,(C++11)代码用ndk编译得很好。这个问题只存在于Eclipse内部的索引级别。关于在Eclipse Juno中修复索引器的问题,我在“”上发布了一个解决方法