2012-02-26 25 views
24

Sto tentando di utilizzare l'STL in un file C++ NDK Android. Cerco di usare map, vector e varie altre classi stl e non riesco a compilarlo perché non trova i file.Utilizzo di STL con Android NDK C++

mio header classi inizia con:

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

e ottengo seguenti messaggi di errore:

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: 

ho letto vari post e provato "APP_STL: = stlport_static" e "APP_STL: = gnustl_static" in un file application.mk ma non ha funzionato.

Qualcuno sa come posso farlo funzionare?

+1

il mio consiglio è quello di attaccare con l'API Java. Onestamente :( – paulsm4

+0

Forse http://stackoverflow.com/questions/4893403/cant-include-c-headers-like-vector-in-android-ndk/4931170#4931170 e http://stackoverflow.com/questions/1650963/ustl-or-stlport-for-android ti sarà d'aiuto – Yury

+0

Quale versione dell'NDK stai usando? –

risposta

1

Sembra che l'errore sia stato un NDK in qualche modo rotto. Ho reinstallato (eliminare, decomprimere) e ora funziona.

43

Ho avuto lo stesso problema, e poi si rese conto che ho bisogno di mettere: APP_STL: = stlport_static

in Application.mk, non Android.mk ... doh

Poi avevo bisogno di aggiungere : $ {} \ ANDROID_NDK_ROOT fonti \ cxx-stl \ STLport \ STLport

ai percorsi includere in Eclipse per renderlo si lamenta nell'interfaccia utente sugli errori

+0

Scusa non ha funzionato per me La stessa build funziona bene su Linux env, ma fallisce in Windows. Ancora cercando una risposta –

+0

è meglio mettere C++ _ condiviso in modo da includere libcpp_shared.so nell'apk –