Android ndk-build iostream:没有这样的文件或目录

我遇到了使用ndk-build工具编译cpp文件的问题(windows 7和cygwin)当我尝试用#include编译cpp文件时出现错误:

jni/native.cpp:5:20: error: iostream: No such file or directory 

这是我的cpp文件:

 #include <jni.h> #include <string.h> #include <stdio.h> #include <android/log.h> #include <iostream> #define DEBUG_TAG "NDK_SampleActivity" #define LOG_TAG "hellojni" #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) #ifdef __cplusplus extern "C" { #endif void Java_com_test_ndk_SampleActivity_helloLog(JNIEnv* env, jobject thisobj, jstring logThis) { jboolean isCopy; const char * szLogThis = env->GetStringUTFChars(logThis, &isCopy); __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis); env->ReleaseStringUTFChars(logThis, szLogThis); } #ifdef __cplusplus } #endif 

这里是我的Android.mk文件:

 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) APP_STL:=stlport_static LOCAL_LDLIBS := -llog LOCAL_MODULE := swingbyte-android LOCAL_SRC_FILES := native.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all include $(BUILD_SHARED_LIBRARY) 

我有android ndk文件夹中的iostream文件(NDK_ROOT \ sources \ cxx-stl \ gnu-libstdc ++ \ include),但我不知道如何告诉编译器在该文件夹中查找iotream(和其他标准头文件)。

看来我缺less一个或几个环境variables,或者一些comiler标志。

Solutions Collecting From Web of "Android ndk-build iostream:没有这样的文件或目录"

我认为“APP_STL:= stlport_static”必须在Application.mk文件中。

创build一个“Application.mk”文件并在其中写入“APP_STL:= stlport_static”。

这对我有用。

 LOCAL_STATIC_LIBRARIES += libstlport LOCAL_C_INCLUDES += external/stlport/stlport LOCAL_C_INCLUDES += bionic 

更新你的android ndk到最新的一个。 我在android ndk ver 5中遇到错误

添加

 APP_PLATFORM := android-23 

或者你使用的任何版本都可以帮我解决。