2013-03-21 11 views
5

私は、Android NDKで定義されているhash_mapを使用しようとしていますが、私は "非推奨の警告" を取得: "unordered_mapは" GNU-のlibstdcに存在しているためAndroidでunordered_mapを使用するには?

ndk/sources/cxx-stl/gnu-libstdc++/4.6/include/ext/../backward/backward_warning.h:33:2: 
error: #warning This file includes at least one deprecated or antiquated header which may 
be removed without further notice at a future date. Please use a non-deprecated interface 
with equivalent functionality instead. For a listing of replacement headers and 
interfaces, consult the file backward_warning.h. To disable this warning use -Wno- 
deprecated. [-Werror=cpp] 

をそして++/4.6 /も含ま/とgnu-libstdC++/4.6/include/tr1 /で、私はそれを使う方法があると信じています。

私はそれが見つからないということです。次のうち適切なものはどれですか(該当する場合):

#include <tr1/unordered_map.h> 

#include <unordered_map> 

次に使用方法は? __gnu_cxx :: unordered_mapは認識されません。この情報の検索方法はわかりません。

答えて

2

私は最終的に私のAndroidプロジェクトでC++ 11のサポートを追加する方法を見つけました。私たちがそれを知っていればかなり簡単ですが、私はそれを理解するのに時間をかけました。 STLPortもブーストも必要ありませんでした。次のようにC++ 11とが一体化された後は、私は「unordered_map」を使用することができます

#include <unordered_map> 
... 
std::unordered_map<int, int> test; 

を私は、Android hereでC++ 11のサポートを有効にする方法を説明するために、新しい質問を作成しました。

5

場合は、/は、あなたが使用して版STLPortからいずれかを使用することができますC++ 11のサポートを必要としたくない:

// Here we are referencing the stlport one: 
#include <unordered_map> 
... 
std::tr1::unordered_map<int, int> test; 

版STLPortがunordered_map TR1内部の名前空間を定義しているためだが、 STLPortヘッダーは/tr1/フォルダ内にありません。

関連する問題