usar studio que para ndk local_c_includes how for como android android-ndk cygwin iostream

studio - Android ndk-build iostream: ningún archivo o directorio



ndk para android (4)

Tengo problemas para compilar un archivo cpp con la herramienta ndk-build (Windows 7 con cygwin) Aparece un error cuando intento compilar el archivo cpp con #include:

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

Aquí está mi archivo 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

Y aquí está mi archivo 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)

Tengo un archivo iostream en la carpeta ndk de Android (NDK_ROOT / sources / cxx-stl / gnu-libstdc ++ / include) pero no tengo idea de cómo decirle al compilador que busque iotream (y otros archivos de encabezado estándar) en esa carpeta.

Parece que me faltan una o algunas variables de entorno, o algunas banderas de comiler.


Añadiendo

APP_PLATFORM := android-23

O cualquiera que sea la revisión que use, me lo resolvió.


Actualice su ndk de Android a la última. Enfrenté un error en android ndk ver 5


Creo que "APP_STL: = stlport_static" debe estar en el archivo Application.mk.

Cree un archivo "Application.mk" y escriba "APP_STL: = stlport_static" en él.


Esto funciona para mí

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