我使用this package在我的Archlinux上下载并安装了Android-NDK。
按照this page上的指南,构建(并运行)示例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来构建我的应用程序。
答案 0 :(得分:6)
确保在Application.mk中定义了APP_ABI和APP_PLATFORM,并且您的APP_PLATFORM应该高于android-5 ... check:gl.h & glext.h not found
例如,在Application.mk中定义:
APP_ABI := armeabi #armeabi-v7a
APP_STL := stlport_static
APP_PLATFORM := android-8
答案 1 :(得分:2)
在我的情况下,它缺少包含此类内容的文件 default.properties :
target=android-5
将此文件放入根项目目录中。这可能有所帮助。
答案 2 :(得分:0)
您需要使用更高版本的SDK。 5级是构建OpenGL ES 2代码的最低要求。