3

我使用这个包在我的 Archlinux 上下载并安装了 Android-NDK 。

按照此页面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 来构建我的应用程序。

4

3 回答 3

6

确保在您的 Application.mk 中定义了 APP_ABI 和 APP_PLATFORM 并且您的 APP_PLATFORM 应该高于 android-5... 检查:gl.h & glext.h not found

例如,在 Application.mk 中定义:

APP_ABI := armeabi #armeabi-v7a
APP_STL := stlport_static
APP_PLATFORM := android-8
于 2012-10-18T09:10:22.153 回答
2

就我而言,它缺少具有此类内容的文件default.properties :

target=android-5

将此文件放入项目根目录。它可能会有所帮助。

于 2011-10-26T12:02:54.217 回答
0

您需要使用更高版本的 SDK。5 级是构建 OpenGL ES 2 代码的最低要求。

于 2011-01-18T17:06:18.663 回答