Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何编译c++;11使用android ndk和eclipse的代码?_C++_Gcc_C++11_Android Ndk_Smart Pointers - Fatal编程技术网

C++ 如何编译c++;11使用android ndk和eclipse的代码?

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文件中添加了

我使用的是安卓NDKR8D和EclipseJuno。我尝试编译C++代码,它使用了C++ 11的东西,如代码>互斥< <代码>,<代码> CuxyGueGue<代码>,<代码> SydDypTr> <代码>等。 我会遇到如下错误:

“错误:'shared_ptr'不是'std'的成员”

“致命错误:互斥:没有这样的文件或目录”

我遇到了一个类似的问题。这似乎对他们有用,但那里的解释不完整,所以我无法让它对我有用

我在
应用程序.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++常规/路径和符号

  • 在“包含”选项卡中,添加适当的目录,例如。 /android-ndk-r8d/sources/cxx stl/gnu libstdc++/4.7/include

  • 关于你的第二个问题,我也在寻找答案。在Eclipse中如何定义GXX\u EXPERIMENTAL\u CXX0X宏是绝对不清楚的

    有人说它应该“作为一个预定义的宏添加到索引器中”,但看起来我们都找不到一种方法来实现它


    我在其他地方读到过,它应该添加到“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中修复索引器的问题,我在“”上发布了一个解决方法