我正在尝试编译仅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/