我不知道如何在我的
Android项目中使用共享指针.我在Mac OS X上使用最新的Eclipse ADT与Android NDK r8d.
这是我的Android.mk文件中的内容:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CPPFLAGS := -std=c++11
LOCAL_MODULE := native
LOCAL_SRC_FILES := native.cpp
include $(BUILD_SHARED_LIBRARY)
这是我的Application.mk文件中的内容:
NDK_TOOLCHAIN_VERSION=4.7
APP_STL := stlport_shared
我尝试了默认的GCC 4.6,实验4.7和clang3.1工具链.
我已经尝试链接到stlport_shared和gnustl_shared c运行时库.
我已经尝试过FLAGS -std = c 11,-std = c 0x和-std = gnu 11.
我可以使用lambdas和c 11标准的汽车,所以C11标志似乎正在工作.但是,无论何时我尝试使用shared_ptr,weak_ptr或unique_ptr,我得到错误’suchandsuch_ptr’不是’std’的成员
我有#include< memory>在我的cpp文件.现在Eclipse告诉我未解决的包含:< memory>,但是我得到< vector>和< string>那些似乎编译和工作的人很好.
Android NDK中包含的工具链中没有实现智能指针吗?
如果没有,为什么不呢?由于海湾合作委员会和cl ang已经有一段时间支持智能指针,所以这意味着我是缺少某些东西,或者由于某些原因,Android开发人员已经禁用了这些指针.
任何线索?