2010-12-30 20 views
2

私はAndroid用のSTLportを構築しようとしています。私は、次の手順を実行しましたが、彼らは働いていない。問題のビルドSTLport NDK r5/Android

1 - クローンSTLportのリポジトリを使用して:

gitのクローンgitのを:

//stlport.git.sourceforge.net/gitroot/stlport/stlport 2 - 使用環境を設定します。

./configure --target=arm-eabi --with-extra-cxxflags="-fshort-enums" 
      --with-extra-cflags="-fshort-enums" 

3 - srcディレクトリから

メイクSYSROOT "{MY NDKパス} /プラットフォーム/アンドロイド-5 /アーチ・アーム/" をリリース-statiを使用して、それを構築しますC

しかし、私は次のエラー得た:

In file included from ../stlport/stl/_alloc.h:45, 
       from ../stlport/memory:29, 
       from dll_main.cpp:41: 
../stlport/stl/_new.h:45:24: error: new: No such file or directory 
In file included from ../stlport/stl/_limits.h:36, 
       from ../stlport/limits:29, 
       from dll_main.cpp:48: 
../stlport/stl/_cwchar.h:26:30: error: cstddef: No such file or directory 
In file included from ../stlport/stl/_utility.h:35, 
       from ../stlport/utility:35, 
       from dll_main.cpp:40: 
../stlport/type_traits:889: error: 'declval' was not declared in this scope 
../stlport/type_traits:889: error: expected primary-expression before '>' token 
../stlport/type_traits:889: error: expected primary-expression before ')' token 
../stlport/type_traits:889: error: 'declval' was not declared in this scope 
../stlport/type_traits:889: error: expected primary-expression before '>' token 
../stlport/type_traits:889: error: expected primary-expression before ')' token 
../stlport/type_traits:889: error: ISO C++ forbids declaration of 'decltype' with no type 
../stlport/type_traits:889: error: ISO C++ forbids in-class initialization of non-const static member 'decltype' 
../stlport/type_traits:889: error: template declaration of 'int std::tr1::detail::decltype' 
../stlport/type_traits:942: error: ISO C++ forbids declaration of 'decltype' with no type 
../stlport/type_traits:942: error: ISO C++ forbids in-class initialization of non-const static member 'decltype' 
../stlport/type_traits:942: error: template declaration of 'int std::tr1::detail::decltype' 
make: *** [obj/arm-eabi-gcc/so/dll_main.o] Error 1 

は、任意のディレクトリまたは構成 - 私が行方不明含まありますか?

おかげで、

セルジオ

答えて

2

のAndroid NDK r5が今APP_STL変数の有効なオプションは、STLをサポートしている、ちょうどあなたのAndroid.mkファイルにAPP_STL := stlport_staticを追加します。 stlport_static

    • はgnustl_static
    • のみgnustl_staticバリアントは、例外をサポート

    注意をstlport_shared。

  • +0

    こんにちは。私はビルドしようとしている別のライブラリの前提条件としてSTLportを構築しようとしています。このライブラリはAndroid.mkを持たないサードパーティのライブラリで、通常のMakefileです。 STLサポートを有効にするためにAPP_STLを設定する他の方法はありますか?私はインクルードファイルとstlport_staticをMakefileに直接追加するように試しました(それらを-Iと-lパラメータに追加する)。ビルドはもう少し進んだが失敗したので、この変更は十分ではなかったかもしれない。 – Sergio

    0

    gitの最新バージョンが壊れているようです。以前のバージョンを使用してみてください(私はWed、Dec 1st 2010を使用しました。

    0

    私はSTLPort GITリポジトリを使用してAndroid NDK R3のSTL-Portをコンパイルすることができました。しかし、いくつかの「適応」が必要です。手順hereに関する説明があります。それはNDK R5でも有効です。

    希望に役立ちます。