Androidプロジェクト内で共有ポインターを使用する方法がわかりません。私はAndroidNDKr8dを搭載したMacOSXで最新のEclipseADTを使用しています。
これが私の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
デフォルトのGCC4.6、実験的な4.7、およびclang3.1ツールチェーンを試しました。とc++ランタイムライブラリ
にリンクしてみました。、、、
を試しました。stlport_shared
gnustl_shared
FLAGS
-std=c++11
-std=c++0x
-std=gnu++11
c ++ 11標準のラムダとオートを使用できるので、C++11フラグが機能しているように見えます。ただし、shared_ptr、weak_ptr、またはunique_ptrを使用しようとすると、エラーが発生します。'suchandsuch_ptr' is not a member of 'std'
#include <memory>
cppファイルにがあります。Eclipseは私Unresolved inclusion: <memory>
に教えてくれますが、私は同じことを取得し<vector>
、<string>
それらはコンパイルされて正常に動作しているように見えます。
Android NDKに含まれているツールチェーンにスマートポインターが実装されていませんか?
そうでない場合は、なぜですか?GCCとclangはかなり前からスマートポインターをサポートしていたので、これは私が何かを見逃しているか、Android開発者が何らかの理由でそれらを無効にしていることを意味します。
手がかりはありますか?