Подтвердить что ты не робот

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

Я пытаюсь использовать STL в файле Android NDK С++. Я пытаюсь использовать 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, но он не работал.

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

4b9b3361

Ответ 1

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

Ответ 2

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

в Application.mk, а не Android.mk... doh

Тогда мне нужно было добавить: $ {ANDROID_NDK_ROOT}\Sources\CXX-СТЛ\STLport\STLport

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