2010-12-30 3 views
2

Android 용 STLport를 만들려고합니다. 나는 다음 단계를 얻었으나, 그들은 작동하지 않습니다 :문제 빌딩 STLport NDK r5/Android

1 - 복제 된 STLport 저장소 사용 :

자식 클론 자식을 :

//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

안드로이드 NDK R5는 이제 STL 지원, 그냥 당신의 Android.mk 파일에 APP_STL := stlport_static을 추가 할 수 있습니다 APP_STL 변수에 대한 유효한 옵션이 있습니다; stlport_static

    • 는 gnustl_static
    • gnustl_static 변형 예외를 지원

    참고 stlport_shared.

  • +0

    안녕하세요. STLport는 빌드하려고하는 다른 라이브러리의 전제 조건이므로 STLport를 빌드하려고합니다. 이 라이브러리는 Android.mk가없는 제 3 자 라이브러리이며 일반 Makefile입니다. STL 지원을 가능하게하기 위해 APP_STL을 설정하는 다른 방법이 있습니까? 나는 include 파일과 stlport_static을 Makefile에 직접 추가하기 위해 tryied했다 (-I와 -l 매개 변수에 추가). 빌드가 조금 더 진행되었지만 실패 했으므로이 변경으로 충분하지 않을 수 있습니다. – Sergio

    0

    마지막 버전의 git이 손상된 것 같습니다. 이전 버전을 사용해보십시오. (2010 년 12 월 1 일 수요일부터 사용했는데 정상적으로 작동했습니다.)

    0

    STLPort GIT 저장소를 사용하여 Android NDK R3에서 STL-Port를 컴파일 할 수있었습니다. 그러나 몇 가지 "적응"이 필요하다. 절차 here에 대한 설명을 찾을 수 있습니다. NDK R5에서도 작동합니다.

    희망이 있습니다.