IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[NDK] ndk-build NDEBUG incompréhension


Sujet :

Android

  1. #1
    Membre émérite Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 047
    Points : 2 251
    Points
    2 251
    Par défaut [NDK] ndk-build NDEBUG incompréhension
    Bonjour,

    J'ai un souci avec la compilation de mon code C++ avec le NDK r9d sous Eclipse.
    J'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #if defined(NDEBUG)
        #include <android/log.h>
        #define LOG_DEBUG(...)  __android_log_print(ANDROID_LOG_INFO, "Info", __VA_ARGS__)
    #else
        #define LOG_DEBUG(...)
    #endif
    Utilisé de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOG_DEBUG("%i , %i", width, height);
    Lorsque je compile avec l'option APP_OPTIM := release dans Application.mk le NDEBUG est défini.
    Lorsque je compile avec l'option APP_OPTIM := debug dans Application.mk le NDEBUG n'est pas défini.
    Il a donc le comportement inverse de ce que je suis censé avoir ...
    Pour la compilation j'ai créer un Builder qui as pour comment ndk-build.cmd avec les arguments suivant:
    -B NDK_LOG=1 V=1
    Je ni NDK_DEBUG=1/0 de défini, ni android:debuggable="true" dans le manifest.
    J'avoue ne pas comprendre ce comportement.

    Avez vous des idées? avez vous déjà été confronté à ce problème?

    Merci par avance.

  2. #2
    Membre émérite Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 047
    Points : 2 251
    Points
    2 251
    Par défaut
    Bon je vois que le NDK n’intéresse personne :p

    Après de longue et épuisante recherche il apparait que NDEBUG n'est utilisé que pour les assert... si quelqu'un peut confirmer ça serait sympa.

    Je suis donc partis sur autre chose. Je ne me base pas sur NDEBUG mais sur mon propre define.
    J'ai donc dans les propriétés du projet C/C++ Build trois configurations:
    Release : ndk-build CL_DEBUG=0 NDK_DEBUG=0 APP_OPTIM=release V=1 NDK_LOG=1
    ReleaseDebug : ndk-build CL_DEBUG=1 NDK_DEBUG=1 APP_OPTIM=release V=1 NDK_LOG=1
    Debug : ndk-build CL_DEBUG=1 NDK_DEBUG=1 APP_OPTIM=debug V=1 NDK_LOG=1

    (Attention à ne pas redéfinir APP_OPTIM dans le Application.mk

    J'ai donc maintenant en sortie:
    Release:
    Android NDK: Application 'local' forced *not* debuggable through NDK_DEBUG
    Android NDK: Selecting optimization mode through Application.mk: release
    Debug:
    Android NDK: Application 'local' forced debuggable through NDK_DEBUG
    Android NDK: Selecting optimization mode through Application.mk: debug
    DebugRelease:
    Android NDK: Application 'local' forced debuggable through NDK_DEBUG
    Android NDK: Selecting optimization mode through Application.mk: release
    Je n’ai plus qu'a #ifdef MYDEBUG dans mon code.

    Et tada!!

    Si cela peut aider quelqu'un....
    Si vous avez des remarques ou suggestion je suis toujours preneur.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [NDK] [ANDROID_NDK]Error: Program "ndk-build" not found in PATH.
    Par bileltechno dans le forum Android
    Réponses: 0
    Dernier message: 09/08/2014, 01h29
  2. Réponses: 1
    Dernier message: 30/06/2013, 20h06
  3. Android NDK build
    Par nizkowsky dans le forum Android
    Réponses: 3
    Dernier message: 25/05/2011, 13h44
  4. Sortie de Android 1.5 NDK Release 1.
    Par 3DArchi dans le forum C++
    Réponses: 8
    Dernier message: 23/07/2009, 21h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo