2017-07-31 2 views
1

Je reçois cette erreur, dans un projet où je l'ai utilisé ci-dessous des modules de "AndEngine",Erreur: Erreur: macro '__ANDROID_API__' redéfinie [-Werror, -Wmacro-redéfinie] -Android studio

1) AndEngine 2) andEnginePhysicsBox2DExtension 3) andEngineTexturePackerExtension

Auparavant (2 - 3 mois en arrière), le projet exécutait correctement. Et maintenant, quand j'ai essayé d'exécuter le code, je suis confronté à cette erreur.

Quand j'ai essayé de commenter les "LOCAL_CFLAGS: = -Werror" ligne, à partir de "Android.mk" du module "AndEngine" je suis l'erreur comme ci-dessous,

[armeabi-v7a] Compile++ arm : andenginephysicsbox2dextension <= b2PolygonAndCircleContact.cpp 
In file included from <built-in>:346: 
<command line>:6:9: warning: '__ANDROID_API__' macro redefined [-Wmacro-redefined] 
#define __ANDROID_API__ 14 
     ^
<built-in>:338:9: note: previous definition is here 
#define __ANDROID_API__ 9 
     ^
error: error opening 'C:/Users/.../andEnginePhysicsBox2DExtension/build/intermediates/ndkBuild/release/obj/local/armeabi-v7a/objs/andenginephysicsbox2dextension/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.o.d': No such file or directory 
1 warning and 1 error generated. 
make: *** [C:/Users/.../andEnginePhysicsBox2DExtension/build/intermediates/ndkBuild/release/obj/local/armeabi-v7a/objs/andenginephysicsbox2dextension/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.o] Error 1 

Pour votre information ... Android Studio: 2.3.3. NDK: est à jour.

Merci à l'avance.

+0

Je n'ai pas de réponse pour vous, mais je me demande pourquoi vous utilisez AndEngine. Je l'ai utilisé il y a longtemps et je l'ai aimé, mais il n'est pas maintenu autant que je sache. La dernière entrée dans Github était il y a 5 ans. –

+0

Peut être liée à l'ordre des fichiers include ou à la compilation des modules. Publier votre fichier make peut vous aider. Le fait qu'il ait été compilé dans le passé signifie que quelque chose a changé - peut-être votre NDK (vous pourriez essayer avec un plus ancien, juste pour identifier le problème). – yakobom

+0

@AlLelopath, c'est une ancienne application qui a été développée en éclipse, et j'ai importé dans le studio Android 2-3 mois en arrière pour implémenter de nouveaux changements, qui sont actuellement en direct ... Comme l'App est complexe, le passage d'AndEngine à toute autre plate-forme/moteur serait une tâche difficile ... Toutes les autres suggestions sont les bienvenues. –

Répondre

1

Après de longues recherches, enfin obtenu la solution.

Tout ce que vous avez à faire est,

1) Dans le fichier "Android.mk" de "AndEngine", remplacer la ligne avec "LOCAL_CFLAGS: = -Werror" avec "LOCAL_CFLAGS: = -w". Où, "-Werror" affiche des avertissements car il s'agit d'une erreur et "-w" supprime tous les avertissements (qui ne sont pas des erreurs réelles) liés à "andEngine" et à d'autres modules.

2) Veuillez nettoyer le projet et il devrait fonctionner dans la plupart des cas. Dans le cas, vous avez encore une erreur (s) puis suivez l'étape 3.

3) Vous devez maintenant supprimer le présent dossier « jniLibs » dans le chemin « AndEngine \ src \ principal \ » (ou le chemin de dossier mentionnez à la place de "etEngine" dans cette erreur) et recompilez le code.

Error:Execution failed for task ':andEngine:transformNativeLibsWithMergeJniLibsForDebug'. More than one file was found with OS independent path 'lib/x86/libandengine.so'

Et merci à tous pour vos commentaires/suggestions.