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