Eclipse ADT "... no se pudo resolver" con los archivos NDK y C de Android

Estoy teniendo problemas con el indexador Eclipse para mi proyecto NDK. Hay muchos hilos similares pero ninguno que parece tocar la misma fuente de problemas. Tengo una aplicación OpenGL ES que necesito transferir a Android escrita únicamente en C que me gustaría ejecutar como NativeActivity, preferiblemente sin Java. El código compila bien usandondk-build después de una gran cantidad de reescritura, pero desde el IDE hay muchos errores comoType 'GLfloat' could not be resolved. Se produce un APK y puedo instalarlo conadb y todo, pero quiero poder usar el IDE, especialmente para la depuración.

Si elijo 'Declaración abierta' en el menú contextual para una línea como#include <GLES2/gl2.h> entonces Eclipse es capaz de mostrar el archivo y veo elGLfloat la definición está ahí, pero no obtengo ninguna información al desplazarme sobre cualquier elemento del archivo, así que supongo que el indexador simplemente lo omite de alguna manera. Los archivos de encabezado que no se encuentran en el directorio NDK de Android se indexan muy bien, como los que se encuentran en el directorio NDK de Android.jni carpetas y subcarpetas comojni/png. yo tengoNDKROOT raíz definida enC/C++ Build -> Environment, un proyecto con capacidades nativas y utilizando la vista CDT.

Una cosa que noté fue que cuando configuré el proyecto inicialmente tuve una.cpp archivo para el cual el indexador no tuvo problemas para proporcionar información de Android NDK, pero tan pronto como lo cambié a.c Los errores empezaron a aparecer. Tengo la impresión de que el NDK de Android está diseñado para su uso con C con solo el soporte básico de C ++, pero mirando alrededor de las muestras y así veo un montón de.cpp Archivos así que estoy confundido. He intentado configurarLOCAL_CPP_EXTENSION += .c en miAndroid.mk pero eso causó que Eclipse se colgara durante la compilación. Lo último que no he intentado es cambiar el nombre de todos los archivos para que se compilen con un compilador de C ++, pero no veo por qué esto debería ser necesario y tengo algunas bibliotecas de terceros como zlib incluida por la fuente. más bien no jugar con él.

Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

define all-cpp-files-under
$(patsubst ./%, %, \
    $(shell cd $(LOCAL_PATH) ; \
        find $(1) -name "*.c" -and -not -name ".*") \
)
endef

LOCAL_MODULE    := MyProject
LOCAL_SRC_FILES := $(call all-cpp-files-under, .)
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2 -lOpenSLES
LOCAL_STATIC_LIBRARIES := android_native_app_glue
LOCAL_C_INCLUDES += $(LOCAL_PATH)/jansson
LOCAL_C_INCLUDES += $(LOCAL_PATH)/zlib
LOCAL_C_INCLUDES += $(LOCAL_PATH)/png

include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)
Aplicación.mk
APP_PLATFORM := android-9
APP_ABI := all

Respuestas a la pregunta(2)

Su respuesta a la pregunta