2012-02-26 13 views
24

Android NDK C++ファイルでSTLを使用しようとしています。私は、マップ、ベクトル、さまざまな他のstlクラスを使用しようとすると、ファイルを見つけることができないため、私はそれをコンパイルすることはできません。Android NDK C++でSTLを使用する

私のクラスのヘッダーで始まる:

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

と、私は次のようなエラーメッセージが出ます:私は様々な記事を読んでみました "APP_STL:= stlport_static"

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を:= gnustl_static" application.mkファイルでは動作しませんでした。

どのように私はこれを動作させることができます知っていますか?

+1

についてのUIには文句ない作るために日食のパスを含める私のアドバイスは、Java APIに固執することです。正直:( – paulsm4

+0

かもしれないhttp://stackoverflow.com/questions/4893403/cant-include-c-headers-like-vector-in-android-ndk/4931170#4931170 and http://stackoverflow.com/questions/1650963 – Yury

+0

NDKのどのバージョンを使用していますか? –

答えて

1

間違いが何とかNDKを壊したようです。私はそれを再インストール(削除、解凍)し、今は動作します。

43

私は同じ問題を抱えていた、そして私は置く必要があることを実現:その後、私は追加する必要が

DOH ... = stlport_static

Application.mkでは、Android.mkない: APP_STLを: $ {ANDROID_NDK_ROOT} \ソース\ CXX-STL \ STLportの\ STLportの

は、それがエラー

+0

申し訳ありませんが私のために働きませんでした。 。同じビルドは、Linuxのenvで正常に動作しますが、Windowsでは失敗します。まだ答えを探しています。 –

+0

apcにlibcpp_shared.soを含めるようにC++ _ –