2012-04-25 5 views
5

Używam najnowszego kodu wyrejestrowanego z GitHub. (0.13.0 beta)Dla Eclipse, CCLog nie działa. CCMessageBox działa dobrze

Pracuję dla Androida z Eclipse. Dodałem * COCOS2D_DEBUG * w Android.mk. Sprawdziłem i upewniłem się, że COCOS2D_DEBUG został rzeczywiście zdefiniowany o wartości 1.

Problem: CCLog nie wydrukuje niczego do LogCat. W międzyczasie CCMessageBox działa dobrze.

(I następnie testowano ten sam zestaw kodu na iOS, zarówno CCLog i CCMessageBox działa dobrze).

Co ja tu brakuje?

Odpowiedz

7

Zastanawiasz się tylko dwie rzeczy: 1. Czy używasz CCLog lub CCLOG (wszystkie duże sprawy)?

nie można umieścić

#define COCOS2D_DEBUG 1 

co naprawdę top (wyższa niż #include) w pliku cpp, że chcę debugowania?

5

Użyj CCLOG ("Test String"), wszystkie wielkie litery, to zadziała. CCLog ("Hello") nie działa w kodzie programu Eclipse. nie

+0

Wow Dzięki, nie widziałem dzienników i było, muszę do CCLog. – goe

0

Jeśli chcesz użyć "CCLog()" to nie jest należy ustawić #define COCOS2D_DEBUG 1 Jeśli chcesz użyć CCLOG(), a następnie trzeba ustawić #define COCOS2D_DEBUG 1

EX CCLog

CClog("Hi this is CCLog"); 

Przykładowy kod 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

Moje własne doświadczenia na temat korzystania CCLOG wydrukować informacje w LogCat Eclipse:

  1. w Eclipse, folder JNI otwarty projekt, dodać -DCCOCOS2D_DEBUG = 1 w Application.mk złożyć tak:

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

Application.mk with -DCCOCOS2D_DEBUG=1

  1. gdzieś w plikach cpp projektu napisać funkcję CCLOG: enter image description here

Wszystkie te funkcje dziennika CCLOG CCLog, pracuje, więc używaj tylko główny CCLOG ...

  1. LogCat Eclipse jest straszliwym narzędziem w moim doświadczeniu, Nienawidzę tego tak bardzo. Bardzo denerwujące jest to, że po 3-6 kompilacjach LogCat przestaje działać, nowe linie przestają się pojawiać, więc muszę zrestartować Eclipse, a LogCat kontynuuje działanie ... Kiedy naciskam przycisk Wyczyść dziennik w LogCat wszystkie logi znikają, a nowe nie pojawiają się ...
    Anyways, aby zobaczyć logi dodać filtr pierwszy, nazwa nie ma znaczenia, a w tagu linia zapisu: Informacje debugowania , wówczas CCLOGs pokaże się: LogCat CCLOG

Uwagi:

mam skomentował

//#define COCOS2D_DEBUG 1 

w moim projekcie, upewnił się, że nie ma takiej drugiej linii, a ja wciąż się mój CCLOG drukowane w visual studio 2013 i Eclipse Logcat na Windows 7:

visual studio2013 COCOS2D_DEBUG commented out

0

dodam ten sam problem: logcat nie pokazywał moje dzienniki cocos2dx. Wtedy zrozumiałem, że moja aplikacja zawsze była budowana w trybie wydania.

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

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

Nie ma potrzeby modyfikowania application.mk, ponieważ dyrektywa nie jest już ustawiony do debugowania lub na prowadzenie działalności handlowej wersji ... Po tym, aby dostać logi w oknie logcat,

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

Podczas uruchamiania aplikacji wybierz filtr w polu LogCat, aby wyświetlić wszystkie informacje. okazji: przy użyciu kłody cocos2dx wykorzystać makro CCLOG:

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

Na cocos2dx wersji 3 przynajmniej Application.mk COCOS2D_DEBUG jest ustawiany warunkowym w oparciu o standardowe flagi NDK NDK_DEBUG = 1. Tak więc po prostu wywołaj kompilacje przechodząc podając . Będziesz chciał użyć makra "CCLOG", a nie przestarzałego CCLog wywołania funkcji, ponieważ ten pierwszy rozwinie się do niczego w trybie zwolnienia i nie spowoduje żadnego zwiększenia wydajności podczas budowania do wydania.