我正在尝试编译仅NDK的应用程序(命令行应用程序)。
我在许多方面使用C++ 11,最近添加了线程:

#include <thread>

现在我的编译不起作用,即使它适用于map / deque / vector /...。
出现以下错误:
jni/common.h:24:10: fatal error: 'thread' file not found
#include <thread>
         ^
1 error generated.

这是我的Application.mk:
APP_PLATFORM := android-18
APP_CPPFLAGS := -Wall -frtti -fexceptions -fpermissive
APP_ABI := armeabi-v7a

APP_STL:=stlport_static
NDK_TOOLCHAIN_VERSION := clang
APP_OPTIM := release

这是我的Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE     := XXXX

LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/XXXXX

LOCAL_SRC_FILES  := ....

LOCAL_C_FLAGS   := -O3 -std=c++11
LOCAL_CXX_FLAGS := -O3 -std=c++11

LOCAL_LDLIBS    := -llog

include $(BUILD_EXECUTABLE)

我正在使用NDK 10d。

最佳答案

好吧,我会回答自己:)

似乎APP_STL:=stlport_static不支持C++线程。更改为APP_STL:=gnustl_static可解决此问题。

关于android - Android NDK:找不到 “fatal error: '线程文件”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31963261/

10-17 00:30