2012-10-27 10 views
10

あなたが設定することができます。APP_OPTIMはどのようにコードに現れますか? Application.mkで

APP_OPTIM := release 
APP_OPTIM := debug 

は、どのように私はC++でのリリース/デバッグビルドをテストすることができますか?

私はこれを試してみたので、定義があると仮定していますが、メッセージのみがログに記録されている "NOT":android-ndk-r8b/build/core/add-application.mk

#ifdef RELEASE 
    LOGV("RELEASE"); 
#else 
    LOGV("NOT RELEASE"); 
#endif 

#ifdef DEBUG 
    LOGV("DEBUG"); 
#else 
    LOGV("NOT DEBUG"); 
#endif 

答えて

20

我々が読んで:

ifeq ($(APP_OPTIM),debug) 
    APP_CFLAGS := -O0 -g $(APP_CFLAGS) 
else 
    APP_CFLAGS := -O2 -DNDEBUG -g $(APP_CFLAGS) 
endif 

だから、答えるためにあなたの質問:NDK r8b(今日の最新)で確認できます

#ifdef NDEBUG 
// this is "release" 
#else 
// this is "debug" 
#endif 

しかし、他のコンパイルを追加することはできます必要に応じて、$(APP_OPTIM)に応じてAndroid.mkまたはApplication.mkを使用してフラグを設定します。

+0

リリースビルドの場合でも、常に '-g'フラグが表示されます。そして、私はなぜAPP_OPTIM:= release'でもブレークポイントが動作するのだろうと思っていました。 – sashoalm

+1

@sashoalm:** Application.mk **で 'APP_CFLAGS:= -g0'を設定すると、それを変更することができます –

関連する問題