我正在使用NDK版本r9b,我想我在application.mk文件中添加了c ++ 11支持所需的一切。当我包含函数时,我没有得到eclipse的任何抱怨,但当我尝试使用std :: function时,它表明:
无法解析符号'功能'
这是我的android.mk文件:
LOCAL_PATH := $(call my-dir)
CPP_CORE := $(abspath $(call my-dir)/../../common)
include $(CLEAR_VARS)
LOCAL_MODULE := game
LOCAL_CFLAGS := -Wall -Wextra
LOCAL_SRC_FILES := ApplicationEngine.cpp
LOCAL_SRC_FILES += jni.cpp
LOCAL_SRC_FILES += ../../common/Log.cpp
LOCAL_SRC_FILES += ../../common/MessageQueue.cpp
LOCAL_C_INCLUDES := glwrapper.h
LOCAL_C_INCLUDES += $(CPP_CORE)
LOCAL_LDLIBS := -lGLESv2
LOCAL_CFLAGS := -D__GXX_EXPERIMENTAL_CXX0X__
LOCAL_CFLAGS += -std=gnu++11
include $(BUILD_SHARED_LIBRARY)
和我的application.mk文件:
APP_PLATFORM := android-10
APP_ABI := armeabi-v7a
APP_STL:= gnustl_static
NDK_TOOLCHAIN_VERSION := 4.8
APP_CPPFLAGS := -fexceptions -std=c++11 -stdlib=libc++
如果有人知道是否支持std :: function或者看到我在mk文件中做错了什么我会很感激帮助。
答案 0 :(得分:0)
我发现APP_CPPFLAGS中的“-stdlib = libc ++”无效。一旦我删除了,我就能编译并使用std :: function而没有任何问题。