Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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:

  • Portar una aplicación de C ++ a android
  • Error: Programa "/ndk-build.cmd" no se encuentra en PATH
  • Desbordamiento de ReferenceTable (máx = 512) JNI
  • Vinculación de bibliotecas de terceros (libs.a) con NDK
  • Cómo comprobar el registro de bloqueo usando android ndk en cocos2d-x
  • Error: Programa "/ NDK-build" no se encuentra en PATH
  •  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) 

  • Seguimiento de eventos de AdMob en Google Analytics
  • Ocultar fila en GridLayout
  • Poner un objeto en el mensaje de Handler
  • Zoom automático en Google Maps en java? (Dependiendo de la resolución de pantalla de Android)
  • Android cadena de escape real en sqlite
  • ¿Cómo ejecutar comandos USSD en android?
  • 3 Solutions collect form web for “La compilación con NDK da error para los archivos de encabezado incluidos correctamente”

    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
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.