64 votes

Comment imprimer une variable en utilisant echo o print dans un fichier NDK-build Android.mk pour déboguer la compilation ?

J'essaie d'imprimer des informations supplémentaires lorsque je compile une bibliothèque en utilisant ndk-build.

Par exemple :

LOCAL_PATH := $(call my-dir)
all:;echo $(LOCAL_PATH)
echo: $(LOCAL_PATH)
print:echo "i'm not working"

Quand je fais ndk-build, je compile tous les Android.mk, mais je n'obtiens pas l'écho de la console. J'ai lu les informations de GNU make (ndk-build est juste un petit GNU make), et certains post qui ont dit que l'écho doit fonctionner en utilisant un $(VAR) mais cela ne fonctionne pas dans mon cas.

Une idée ?

118voto

Andrey Kamaev Points 14888

Utilisez

LOCAL_PATH := $(call my-dir)
$(warning $(LOCAL_PATH))

51voto

nellute Points 402

La fonction la plus correcte à appeler est "$(info ...)" :

LOCAL_PATH := $(call my-dir)
$(info $(LOCAL_PATH))

24voto

PedroSw7 Points 31

Les affichages suivants sont disponibles dans Android.mk :

  • erreur : impression de débogage + arrêt de la construction
  • info : impression de débogage de base
  • warning : identique à info mais affiche le numéro de ligne où il a été inséré

Voici quelques exemples :

$(error this is the error message that will stop the build process)
$(warning this the warning msg)
$(info this the info msg)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X