如何使用cmake和Android NDK在C ++中加载线程支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用cmake和Android NDK在C ++中加载线程支持相关的知识,希望对你有一定的参考价值。

我在应用程序中使用线程时遇到问题。我正在编写在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

以上是关于如何使用cmake和Android NDK在C ++中加载线程支持的主要内容,如果未能解决你的问题,请参考以下文章

Android开发java调用C简单示例

AS2.2使用CMake方式进行JNI/NDK开发

android studio使用CMake和NDK,实现应用自身被卸载时打开某一网址

如何使用 CMake 将 FreeType 导入我的 Android Studio NDK 项目

TravisCI中的NDK,CMake和Android

Android NDK和cmake相关