我正在使用android NDK r8d和eclipse Juno.我试图编译它使用C++ 11的东西像C++代码mutex,lock_guard,shared_ptr等在Eclipse一个原生Android项目.
我得到的错误如下:
"错误:'shared_ptr'不是'std'的成员"
"致命错误:互斥:没有这样的文件或目录"
我在这里遇到了类似的问题.它似乎对他们有效,但那里的解释并不完整,所以我无法让它为我工作.
我加入"NDK_TOOLCHAIN_VERSION=4.7"到Application.mk和"LOCAL_CFLAGS += -std=c++11"到Android.mk文件中.它仍然没有编译.
在上面的链接中它说:
"确保标准库包含路径(如/android-ndk-r8d/sources/cxx-stl/gnu-libstdc++/4.7/include)在目标设置中."
我如何以及在何处插入?
我也在eclipse IDE中遇到错误(在编译之前在源代码上).我知道我应该定义"__GXX_EXPERIMENTAL_CXX0X__"解决它们,但我只是不知道把它放在哪里.
所以,如果有人能够发布一个答案,并详细解释如何编译和使用C++ 11进行eclipse工作,那就太好了.
我在Ubuntu上使用Android NDK r7和eclipse Indigo.我将我的java项目设置为使用C++特性.我在C++端使用STL,所以我补充道
Run Code Online (Sandbox Code Playgroud)APP_STL := gnustl_static
在Application.mk文件中.
ndk-build成功编译我的代码并创建一个共享对象.
然而,eclipse索引器抱怨缺少STL符号.例如
"方法'push_back'无法解析""符号'向量'无法解析"
只有在编辑器中打开C++文件时才会发生这种情况.最终eclipse不会创建我的apk.我添加了使用ndk(Properties => C/C++ General => Code Analasys => Path&symbols)的gnu STL标头的路径:
Run Code Online (Sandbox Code Playgroud)android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include/bits
目前的解决方法是关闭打开的C++文件以使eclipse高兴.
有趣的是,eclipse索引器的工作正常,其中包含了标题
机器人-NDK-R7 /平台/机器人-14 /弓形臂的/ usr /包括
有没有我忘记在日食中设置的东西?