Задача сборки STLport NDK r5 / Android - PullRequest
2 голосов
/ 30 декабря 2010

Я пытаюсь собрать STLport для Android. Я получил следующие шаги, но они не работают:

1 - хранилище клонов STLport с использованием:

git clone 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 создайте его, используя

make SYSROOT "{МОЙ путь NDK} / platform / android-5 / arch-arm /" release-static

Но я получил следующие ошибки:

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

Есть ли какие-нибудь каталог или конфигурация, которые мне не хватает?

Спасибо

Sergio

Ответы [ 3 ]

2 голосов
/ 30 декабря 2010

Android NDK r5 теперь имеет поддержку STL, просто добавьте APP_STL := stlport_static в ваш файл Android.mk, допустимые параметры для переменной APP_STL:

  • stlport_static
  • stlport_shared
  • gnustl_static

Обратите внимание, что только вариант gnustl_static поддерживает исключения.

0 голосов
/ 27 января 2011

Мне удалось скомпилировать STL-порт на Android NDK R3 с помощью репозитория STLPort GIT.Однако необходимо несколько «приспособлений».Вы можете найти описание процедуры здесь .Это должно работать и для NDK R5.

Надеюсь, это поможет.

0 голосов
/ 10 января 2011

Последняя версия на git, кажется, сломана. Попробуйте использовать предыдущую версию (я использовал одну из ср, 1 декабря 2010 г., и она работала нормально).

...