La compilación con NDK da error para los archivos de encabezado incluidos correctamente

Mi app.cpp:

#include "app.h" #include <EGL/egl.h> #include <EGL/eglext.h> void Java_com_geek_hello_FilterStack_nativeEglSetFenceAndWait(JNIEnv* env, jobject thiz) { EGLDisplay display = eglGetCurrentDisplay(); // Create a egl fence and wait for egl to return it. // Additional reference on egl fence sync can be found in: // http://www.khronos.org/registry/vg/extensions/KHR/EGL_KHR_fence_sync.txt EGLSyncKHR fence = eglCreateSyncKHR(display, EGL_SYNC_FENCE_KHR, NULL); if (fence == EGL_NO_SYNC_KHR) { return; } ... 

Cuando ejecuto ndk-build, falla al encontrar métodos presentes en egl.h y .so no se crea. Aquí está el registro:

 app.cpp:31:72: error: 'eglCreateSyncKHR' was not declared in this scope 

Seguido por todos los métodos KHR que pertenecen a

Aquí tienes Android.mk

 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) #LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES LOCAL_CFLAGS = -Wno-psabi LOCAL_SRC_FILES := app.cpp #LOCAL_SHARED_LIBRARIES := libcutils libEGL LOCAL_MODULE_TAGS := optional LOCAL_MODULE := libapp LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2 include $(BUILD_SHARED_LIBRARY) 

Usted necesita agregar:

 #define EGL_EGLEXT_PROTOTYPES 

Antes de su #include líneas (bien, específicamente antes de incluir EGL/eglext.h ).

También (y parece que ya lo estás haciendo), necesitas construir contra al menos API 14, ya que es el primer nivel de API que expone esta función en la API pública.

EDIT: o simplemente descomente la línea de su Android.mk que dice:

 #LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES 

Intente seguir todos los pasos de:

http://es.wikibooks.org/wiki/OpenGL_Programming/Android_GLUT_Wrapper

Desde el registro que proporcionó, la compilación no puede encontrar la biblioteca EGL, así que creo que necesita la línea

 LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2 

En tu Android.mk. Y asegúrese de que su Application.mk incluye:

 APP_STL := gnustl_static APP_PLATFORM := android-9 

Creo que debe seguir estos pasos para más pasos de comprensión

Y antes de hacer bulid pls hacer amargo

  • Proyecto camino hasta jni folde> y ndk camino hasta ndk-build ex D: \ New_Wok_2 \ Firstndk \ jni> c: \ android-ndk-r8 \ ndk-construir y limpiar su proyecto
  • JNI y Gradle en Android Studio
  • Cómo encontrar fugas de memoria del código nativo en android
  • Biblioteca binaria preconfigurada nativa en Android Studio con el complemento experimental de Gradle
  • Mantenga en "Tratar de cargar lib" y no hay retorno para siempre
  • JNI cambiar C a C ++
  • Javah Error android.app.Activity not found
  • ¿Qué dispositivos Android admiten jni?
  • ¿Puedo usar excepciones de C ++ en la biblioteca JNI en Android?
  • Embalaje RAW AAC en el contenedor m4a?
  • Android - Directrices JNI
  • FindClass de cualquier hilo en Android JNI
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.