14

在 Application.mk 中,您可以设置:

APP_OPTIM := release
APP_OPTIM := debug

如何在 C++ 中测试发布/调试版本?

我假设有定义,所以我试过这个,但只记录“NOT”消息:

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

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

1 回答 1

24

android-ndk-r8b/build/core/add-application.mk我们读到:

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

Android.mk但是,如果需要,您可以通过 $(APP_OPTIM)或Application.mk根据 $(APP_OPTIM)添加任何其他编译标志。

于 2012-10-27T20:58:38.237 回答