我正在为Android应用程序编写基于ARM NEON的代码,我正在努力解决某些编译器标志无法识别的问题.我后来意识到对这些标志的支持最近才添加,而且我的GCC版本更旧了.我正在Windows上做整件事,并受到Cygwin提供的版本的限制.这是我的问题:在我尝试在我的Windows机器上构建GCC 4.6.0并让Cygwin喜欢它之前,它会对我有用还是NDK使用自己的GCC版本而我的升级根本不会影响它?如果是,是否可以告诉它使用不同的编译器?
我正在使用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工作,那就太好了.
我想在我的android应用程序中使用一个大的c ++库.我正在使用eclipse与android ndk插件.当我运行它时,我收到此错误消息;
This file requires compiler and library support for the ISO C++ 2011 standard.This
support is currently experimental, and must be enabled with the -std=c++11 or
-std=gnu++11 compiler options.
Run Code Online (Sandbox Code Playgroud)
我该怎么办?如何在eclipse中启用此选项?
我需要从android应用程序的本机部分启动一个新线程.它必须在JNI中声明和定义.有人知道我该怎么办?如果有人发布这个例子,我会非常高兴.