Система сборки 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.