【问题标题】:Android-NDK build system (building hello-gl2)Android-NDK构建系统(构建hello-gl2)
【发布时间】:2011-06-11 02:19:31
【问题描述】:

我使用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.hGLES2/gl2ext.h 但是出现在 $(NDK)/platforms/android-4/arch-arm/usr/include/ 中,看起来$(NDK)/build/core/setup-toolchain.mk 应该设置这样的包含路径。

有人遇到过同样的问题吗?如何编译此示例?
然后,还有其他方法可以轻松构建 Android-NDK 应用程序吗?这个构建系统对我来说似乎很复杂,我更喜欢使用 cmake 来构建我的应用程序。

【问题讨论】:

  • 我也有同样的问题。 ndk-build 给出了同样的错误。虽然我在 Mac 上。有什么建议吗?

标签: android build android-ndk sample toolchain


【解决方案1】:

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

【讨论】:

  • 我已经安装了 android-sdk r08-2 和 android-ndk r5-1。 ndk-buidl是否需要指定使用哪个版本?
  • 您的安装很好。从 Eclipse 内部调整 hello-jni 项目。
  • hello-jni 编译并运行良好。问题在于hello-gl2,当我运行ndk-build 时它无法编译...
  • 我明白这一点。当我遇到同样的问题时,我需要做的就是调整我的项目的 API 级别。
【解决方案2】:

在我的情况下,它缺少具有此类内容的文件 default.properties

target=android-5

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

【讨论】:

    【解决方案3】:

    确保在您的 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
    

    【讨论】:

    • Eclipse -> Android Studio 迁移缺少这个。现在 NDK 构建工作!谢谢!
    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    相关资源
    最近更新 更多