2014-03-25 35 views
1

我的应用程序中使用线程时出现问题。我正在编写在Android中使用的C++文件,因此它们使用NDK和cmake进行编译。我不知道如何加载线程支持。有什么我必须写入CMakeLists或MakeFile或类似的东西?我是绝对的初学者在写C++代码...如何使用Cmake和Android NDK加载C++中的线程支持

+0

这是我得到的代码后,包括后的代码:C:/ android-ndk-r8e/sources/cxx-stl/gnu-libstdC++/4.6/include/bits/C++ 0x_warning.h:32 :2:error:#error该文件需要ISO C++ 2011标准的编译器和库支持。此支持目前是实验性的,必须使用-std = C++ 11或-std = gnu ++ 11编译器选项启用。 –

+0

您是否尝试添加向您推荐的标志之一? – Michael

+0

我不知道该怎么做...我也在某处阅读,使用编译器版本4.6,你必须做其他任何事情...... –

回答

0

如果您使用的是Android的Cmakehttps://github.com/taka-no-me/android-cmake,然后使std::thread应指定

ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.8 

ANDROID_STL=gnustl_static 

(或gnustl_shared),

0

为了能够与CMake的C++ 11线程类(std::thread)只需添加到您的CMakeLists.txt以下行:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Werror") 

完整示例here