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」を試してみましたが、機能しませんでした。
これを機能させる方法を誰かが知っていますか?
間違いはなんとか壊れたNDKだったようです。私はそれを再インストールしました(削除、解凍)と今それは動作します。
私は同じ問題を抱えていて、次に置く必要があることに気づきました:APP_STL:= stlport_static
android.mkではなくApplication.mkに... doh
次に、追加する必要がありました:$ {Android_NDK_ROOT}\sources\cxx-stl\stlport\stlport
エラーについてUIで文句を言わないようにするためのEclipseのインクルードパス