web-dev-qa-db-ja.com

Android NDK C ++でのSTLの使用

Android NDK C++ファイルでSTLを使用しようとしています。マップ、ベクター、その他のさまざまな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:

さまざまな投稿を読んで、application.mkファイルで「APP_STL:= stlport_static」と「APP_STL:= gnustl_static」を試してみましたが、機能しませんでした。

これを機能させる方法を誰かが知っていますか?

25
HardCoder

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

2
HardCoder

私は同じ問題を抱えていて、次に置く必要があることに気づきました:APP_STL:= stlport_static

android.mkではなくApplication.mkに... doh

次に、追加する必要がありました:$ {Android_NDK_ROOT}\sources\cxx-stl\stlport\stlport

エラーについてUIで文句を言わないようにするためのEclipseのインクルードパス

43