2012-04-25 6 views
5

Sto utilizzando l'ultimo codice estratto da GitHub. (0.13.0 beta)Per Eclipse, CCLog non funziona. CCMessageBox funziona bene

Sto sviluppando per Android con Eclipse. Ho aggiunto * COCOS2D_DEBUG * in Android.mk. Ho controllato e verificato che COCOS2D_DEBUG fosse effettivamente definito con il valore di 1.

Problema: CCLog non stamperà nulla sul LogCat. Nel frattempo, CCMessageBox funziona bene.

(ho poi provato lo stesso set di codice su iOS, sia CCLog e CCMessageBox funzionano bene.)

Che cosa mi manca qui?

risposta

7

Mi chiedo solo due cose: 1. stai usando CCLog o CCLOG (tutte le case grandi)?

hai messo

#define COCOS2D_DEBUG 1 

in realtà superiore (superiore a qualsiasi #include) nel file cpp che si vuole eseguire il debug?

5

Utilizzare CCLOG ("Stringa di test"), tutto maiuscolo, funzionerà. CCLog ("Ciao") non funziona in eclipse log cat.

+0

Wow Grazie, non ho visto i log ed è stato, devo ise CCLog. – goe

0

Se si desidera utilizzare "CCLog()", allora non c'è bisogno di non essere impostato COCOS2D_DEBUG #define 1 Se si desidera utilizzare CCLOG() poi si deve impostare COCOS2D_DEBUG #define 1

ex per CCLog

CClog("Hi this is CCLog"); 

codice di esempio per CCLOG

CCLOG ("Characters: %c %c \n", 'a', 65); 

CCLOG ("Decimals: %d %ld\n", 1977, 650000L); 

CCLOG ("Preceding with blanks: %10d \n", 1977); 

CCLOG ("Preceding with zeros: %010d \n", 1977); 

CCLOG ("Some different radixes: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100); 

CCLOG ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416); 

CCLOG ("Width trick: %*d \n", 5, 10); 

CCLOG ("%s \n", "A string"); 
0

La mia esperienza su come utilizzare CCLOG per stampare informazioni in LogCat di Eclipse:

  1. in Eclipse, la cartella aperta JNI progetto, aggiungere -DCCOCOS2D_DEBUG = 1 in Application.mk file in questo modo:

    APP_CPPFLAGS: = -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION = 1 -std = C++ 1 -fsigned -char -DCCOCOS2D_DEBUG = 1

Application.mk with -DCCOCOS2D_DEBUG=1

  1. Da qualche parte nei file cpp progetto scrivete funzione CCLOG: 0.123.

Tutte queste funzioni di log CCLOG CCLog, le opere, in modo da utilizzare solo la principale CCLOG ...

  1. LogCat di Eclipse è uno strumento terribile nella mia esperienza, Lo odio così tanto .. La cosa molto fastidiosa che continua a succedere è che dopo 3-6 build LogCat smette di funzionare, le nuove linee smettono di apparire, quindi devo riavviare Eclipse e poi LogCat continua a funzionare ... Quando premo il pulsante Clear Log in LogCat tutti i log scompaiono e quelli nuovi non vengono visualizzati ...
    In ogni modo, per vedere i registri aggiungere un filtro prima, il nome non importa, e in linea di tag di scrittura: informazioni di debug , allora i CCLOGs verranno visualizzati: LogCat CCLOG

Note:

ho commentato

//#define COCOS2D_DEBUG 1 

nel mio progetto, fatto in modo che non v'è alcuna altra linea e ho ancora la mia CCLOG stampato in Visual Studio 2013 e Eclipse di Logcat su Windows 7:

visual studio2013 COCOS2D_DEBUG commented out

0

aggiungo lo stesso problema: logcat non stava mostrando miei log cocos2dx. Poi ho capito che la mia applicazione era sempre costruita in modalità di rilascio.

Make sure to activate debug mode in Eclipse for your project: 

- Right-click your project 
- Choose "Build Configurations" \ "Set Active" \ "Debug" 

Non c'è bisogno di modificare il vostro application.mk, dal momento che una direttiva è già impostato lì per il debug o per l'esecuzione di una versione ... Dopo che per ottenere i registri nella finestra logcat,

- Create a new LogCat's filter and in the "by log tag" type 
"cocos2d-x debug info" (without quotes) 

Quando si esegue l'applicazione, selezionare il filtro in LogCat per visualizzare tutto. BTW: utilizzare la macro CCLOG quando si usano i registri cocos2dx:

CCLOG("Year is %d",2015);  // don't use CCLog 
0

partire dalla versione 3 cocos2dx almeno in Application.mk COCOS2D_DEBUG è impostato in modo condizionale in base a standard di bandiera NDK NDK_DEBUG = 1. Quindi invoca solo le tue build passate a

ndk-build NDK_DEBUG=1 

Ciò garantisce anche che i simboli appropriati vengano generati per una build di debug. Si vorrà utilizzare la macro "CCLOG" e non la chiamata della funzione deprecata CCLog in quanto il primo si espanderà a zero nella modalità di rilascio e non comporterebbe alcun sovraccarico di prestazioni durante la creazione per il rilascio.