Intereting Posts
Unmarshalling ошибки в приложении Android с настраиваемыми классными классами Установите режим наложения Actionbar во время выполнения на Android FileNotFoundException: res / drawable-xhdpi-v4 / foo.png только в журналах сбоев в Play Маркете Добавление представлений в группу просмотра Android Programmatically Android: OutofMemoryError: размер растрового изображения превышает бюджет VM без причины, я могу видеть Как отлаживать собственный код Android на реальном устройстве Как запустить OpenCV-код без OpenCv Manager Как скомпилировать C в исполняемый двоичный файл и запустить его в Android из Android Shell? Facebook, setReadPermissions и setPublishPermissions Элементы ListView в Android Прокрутка по одному за раз Реализация TabListener с использованием библиотеки поддержки Пользователь получает запрос разрешений, которые не включены в манифест Как создать конкретную папку приложения в галерее Android? Фрагмент инициализируется дважды при перезагрузке с помощью вкладок при изменении ориентации SearchView в ActionBar с помощью поддержки-v7-appcompat

Android ndk-build iostream: нет такого файла или каталога

У меня возникла проблема с компиляцией файла cpp с помощью инструмента ndk-build (окна 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 (и другие стандартные файлы заголовков) в этой папке.

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

Solutions Collecting From Web of "Android ndk-build iostream: нет такого файла или каталога"

Я думаю, что «APP_STL: = stlport_static» должен быть в файле Application.mk.

Создайте файл «Application.mk» и напишите в нем «APP_STL: = stlport_static».

Это работает для меня.

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

Обновите свой nroid nroid до последней версии. Я столкнулся с ошибкой в ​​android ndk ver 5

Добавление

 APP_PLATFORM := android-23 

Или любой другой вариант, который вы используете, решил для меня.