Использование STL с Android NDK C ++

Я пытаюсь использовать STL в файле Android NDK C ++. Я пытаюсь использовать map, vector и другие классы stl, и я не могу скомпилировать его, потому что он не находит файлы.

Заголовок моих классов начинается с:

#pragma once #include <map> #include <iostream> #include <stdexcept> #include <vector> #include <set> #include <list> #include <algorithm> 

И я получаю следующие сообщения об ошибках:

 2> In file included from jni/../../Classes/Assist/Test.cpp:1: 2> jni/../../Classes/Assist/Test.h:2:15: error: map: No such file or directory 2> jni/../../Classes/Assist/Test.h:3:20: error: iostream: No such file or directory 2> jni/../../Classes/Assist/Test.h:4:21: error: stdexcept: No such file or directory 2> jni/../../Classes/Assist/Test.h:5:18: error: vector: No such file or directory 2> jni/../../Classes/Assist/Test.h:6:15: error: set: No such file or directory 2> jni/../../Classes/Assist/Test.h:7:16: error: list: No such file or directory 2> jni/../../Classes/Assist/Test.h:8:21: error: algorithm: No such file or directory 2> In file included from jni/../../Classes/Assist/Test.cpp:1: 

Я читал разные сообщения и пытался «APP_STL: = stlport_static» и «APP_STL: = gnustl_static» в файле application.mk, но он не работал.

Кто-нибудь знает, как я могу заставить это работать?

Solutions Collecting From Web of "Использование STL с Android NDK C ++"

У меня была та же проблема, и я понял, что мне нужно поставить: APP_STL: = stlport_static

В Application.mk, а не Android.mk … doh

Затем мне нужно было добавить: $ {ANDROID_NDK_ROOT} \ sources \ cxx-stl \ stlport \ stlport

К включенным путям в eclipse, чтобы он не жаловался в пользовательском интерфейсе об ошибках

Похоже, что ошибка была как-то сломанной NDK. Я переустановил его (удалить, разархивировать), и теперь он работает.