Система сборки 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 для сборки своих приложений.

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

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

target=android-5

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

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

Другие вопросы по тегам