Eclipse ADT "… não pôde ser resolvido” com arquivos NDK e C do Android

Estou tendo problemas com o indexador do Eclipse para meu projeto NDK. Há muitos tópicos similares por aí, mas nenhum que pareça tocar na mesma fonte de problemas. Eu tenho um aplicativo OpenGL ES que eu preciso para portar para Android escrito exclusivamente em C que eu gostaria de executar como um NativeActivity, de preferência não tendo nenhum Java anexado a ele. O código compila bem usandondk-build depois de muita reescrita, mas do IDE há muitos erros comoType 'GLfloat' could not be resolved. Um APK é produzido e posso instalá-lo comadb e tudo, mas eu quero poder usar o IDE, especialmente para depuração.

Se eu escolher 'Open Declaration' no menu de contexto para uma linha como#include <GLES2/gl2.h> então o Eclipse é capaz de exibir o arquivo e eu vejo oGLfloat definição está lá, mas eu não recebo nenhuma informação enquanto pairando sobre qualquer coisa nesse arquivo, então eu acho que o indexador apenas pula de alguma forma? Os arquivos de cabeçalho que não estão no diretório do Android NDK são indexados bem, como os dojni pasta e subpastas comojni/png. eu tenhoNDKROOT raiz definida sobC/C++ Build -> Environment, um projeto com recursos nativos e usando a exibição do CDT.

Uma coisa que eu notei foi que quando eu configurei o projeto inicialmente eu tive um.cpp arquivo que o indexador não teve nenhum problema fornecendo informações do Android NDK para, mas assim que eu mudei para.c os erros começaram a aparecer. Estou com a impressão de que o Android NDK é feito para uso com C com suporte apenas a C ++ básico, mas olhando em volta nas amostras e tal eu vejo apenas um monte de.cpp arquivos, então estou confuso. Eu tentei definirLOCAL_CPP_EXTENSION += .c no meuAndroid.mk mas isso fez com que o Eclipse travasse durante a compilação. A última coisa que eu não tentei é renomear todos os arquivos para que eles sejam compilados com um compilador C ++, mas não vejo por que isso deve ser necessário e eu tenho algumas bibliotecas de terceiros como o zlib incluído pela fonte que eu prefiro não mexer com.

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)
Application.mk
APP_PLATFORM := android-9
APP_ABI := all

questionAnswers(2)

yourAnswerToTheQuestion