2011-01-06 77 views
5

我正在嘗試爲android編譯本機程序。NDK沒有找到標準的C++庫

但是,當運行ndk-build命令時,我得到了以下結果。

/home/marcos/dev/workspace/rmsdk.native.wraper/jni/include-all/uft_alloc.h:26:21: error: stdexcept: No such file or directory 
/home/marcos/dev/workspace/rmsdk.native.wraper/jni/include-all/uft_alloc.h:27:18: error: limits: No such file or directory 

stdexcept和limits是std C++ lib的一部分。

這是我的Android.mk

LOCAL_PATH := $(call my-dir) 
MY_PATH := $(LOCAL_PATH) 
include $(call all-subdir-makefiles) 
LOCAL_PATH := $(MY_PATH) 
include $(CLEAR_VARS) 

LOCAL_LDLIBS := -llog 
LOCAL_MODULE := rmsdk 
LOCAL_SRC_FILES := curlnetprovider.cpp RMServices.cpp 
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all 
LOCAL_STATIC_LIBRARIES := adept cryptopenssl curl dp expat fonts hobbes jpeg mschema png t3 xml zlib 

include $(BUILD_SHARED_LIBRARY) 

我應該明確的告訴大家,這是一個C++源代碼?

回答

6

在Application.mk(如果它不存在,創建它)添加以下行:

APP_STL:= stlport_static

現在,您將能夠使用STL。

+0

謝謝,這個作品。 – 2011-01-06 17:54:01

0

真的,NDK並沒有提供所有的標準C++庫。

因此,我開始使用由crystax修改的NDK。

現在可以正常工作。