Android ndk-build iostream: No such file or directory

У меня проблема с компиляцией cpp-файла с помощью инструмента ndk-build (windows 7 с cygwin) Ошибка появляется, когда я пытаюсь скомпилировать cpp файл с #include:

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)

У меня есть файл iostream в папке android ndk (NDK_ROOT\sources\cxx-stl\gnu-libstdc++\include), но у меня нет идей, как сказать компилятору искать iotream (и другие стандартные заголовочные файлы) в этой папке.

Похоже, что мне не хватает одной или нескольких переменных окружения, или некоторых флагов компилятора.

35
задан Andrey Zavarin 3 February 2012 в 14:43
поделиться