我在应用程序中使用线程时遇到问题。我正在编写在Android中使用的C ++文件,因此它们使用NDK和cmake进行编译。我不知道如何加载线程支持。有什么我必须写入CMakeLists或MakeFile或类似的东西?我是编写C ++代码的绝对新手......
如果您使用的是Cmake for Android,例如https://github.com/taka-no-me/android-cmake,然后启用你应该指定的std::thread
ANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.8
和
ANDROID_STL=gnustl_static
(或gnustl_shared
),
要使用Cmake启用C ++ 11线程类(std::thread
),只需将以下行添加到CMakeLists.txt
:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Werror")
完整的例子here。