Система сборки Android-NDK (сборка hello-gl2)

Я скачал и установил Android-NDK на свой Archlinux, используя этот пакет.

Не возникло проблем при сборке (и запуске) примера hello-jni в соответствии с руководством на этой странице. , но если я попытаюсь сделать то же самое с hello-gl2, я получу несколько ошибок; похоже, что он не может найти некоторые заголовочные файлы:

$ ../../ndk-build 
/usr/bin/make -f /opt/android-ndk/build/core/build-local.mk
Compile++ thumb  : gl2jni <= gl_code.cpp
/opt/android-ndk/samples/hello-gl2/jni/gl_code.cpp:22:23: error: GLES2/gl2.h: No such file or directory
/opt/android-ndk/samples/hello-gl2/jni/gl_code.cpp:23:26: error: GLES2/gl2ext.h: No such file or directory
--- SNIP ---

Однако GLES2/gl2.h и GLES2/gl2ext.h присутствуют в $(NDK)/platforms/android-4/arch-arm/usr/include/, и похоже, что $(NDK)/build/core/setup-toolchain.mk должен установить такой путь включения.

Кто-нибудь сталкивался с такой же проблемой? Как мне скомпилировать этот пример?
И потом, есть ли другие варианты для простой сборки приложений Android-NDK? Эта система сборки кажется мне довольно сложной, и я бы предпочел использовать cmake для сборки своих приложений.


person peoro    schedule 18.01.2011    source источник
comment
У меня такая же проблема. ndk-build выдает те же ошибки. Хотя я на Mac. Какие-нибудь советы?   -  person Abhinav    schedule 07.06.2011


Ответы (3)


убедитесь, что APP_ABI и APP_PLATFORM определены в вашем Application.mk, а ваша APP_PLATFORM должна быть выше, чем android-5... проверьте: gl.h и glext.h не найдены

например, в Application.mk определите:

APP_ABI := armeabi #armeabi-v7a
APP_STL := stlport_static
APP_PLATFORM := android-8
person Zennichimaro    schedule 18.10.2012
comment
Eclipse -> миграция Android Studio отсутствовала. Теперь NDK строит работу! Спасибо! - person david.schreiber; 06.05.2015

В моем случае отсутствовал файл default.properties с таким содержимым:

target=android-5

Поместите этот файл в корневой каталог проекта. Это может помочь.

person Singleton    schedule 26.10.2011

Вам нужно использовать более высокий SDK. Уровень 5 — это минимум для создания кода OpenGL ES 2.

person Brandon    schedule 18.01.2011
comment
У меня установлены android-sdk r08-2 и android-ndk r5-1. Нужно ли указывать, какую версию использовать для ndk-buidl? - person peoro; 18.01.2011
comment
Ваши установки в порядке. Настройте проект hello-jni изнутри eclipse. - person Brandon; 18.01.2011
comment
hello-jni компилируется и работает нормально. Проблема с hello-gl2, который не компилируется, когда я запускаю ndk-build... - person peoro; 18.01.2011
comment
Я это понимаю. Когда у меня возникла та же проблема, все, что мне нужно было сделать, это настроить уровень API моего проекта. - person Brandon; 19.01.2011