2012-03-09 4 views
3

Je travaille sur une application d'activité native pour Android 2.3.3. J'ai copié le code à partir des échantillons de code, j'ai inclus les chemins définis, mais Eclipse (Indigo) ne trouve toujours pas cette constante.Le type 'EGL_DEFAULT_DISPLAY' n'a pas pu être résolu erreur alors que la constante est clairement définie

EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); //Type 'EGL_DEFAULT_DISPLAY' could not be resolved 

Cependant, le compilateur ne montre aucune erreur:

Compile++ thumb : NativeTest <= NativeTest.cpp 

Toutes les idées pourquoi?

Répondre

8

Cette erreur concerne Eclipse n'ayant pas __ ANDROID__ défini, ce qui ne permet pas de définir EGLNativeDisplayType dans EGL/eglplatform.h, ce qui empêche EGL_DEFAULT_DISPLAY de ne pas être défini.

Pour résoudre ce problème aller à vos projets propriétés et aller à la « C/C++ Général-> Chemins et symboles » page, sous l'onglet « Symboles », cliquez sur GNU C puis sur le bouton « Ajouter » et mis

__ANDROID__ 

dans le nom feild et cliquez sur OK. Vous pouvez faire la même chose pour GNU C++.

+0

Fonctionne pour moi, merci. – Moonkid

+1

Je ne reçois pas l'onglet "Symboles" sous "C/C++ Général-> Chemins et symboles". Que faire maintenant ? – Mayank

1

Vous pouvez aussi simplement ajouter:

typedef void* EGLNativeDisplayType; 

avant d'inclure egl.h.

+0

Pourquoi ai-je besoin de faire cela si 'egl.h' contient la même définition? – CAMOBAP

Questions connexes