本文介绍了如何在code APP_OPTIM清单?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Application.mk您可以设置:

  APP_OPTIM:=释放
APP_OPTIM:=调试

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

我假设有这么定义我已经试过这一点,但只有NOT消息记录:

  #IFDEF RELEASE
    LOGV(发行);
#其他
    LOGV(不释放);
#万一#IFDEF DEBUG
    LOGV(DEBUG);
#其他
    LOGV(NOT DEBUG);
#万一


解决方案

Android的NDK-R8B /编译/核心/ add-application.mk ,我们读到:

  IFEQ($(APP_OPTIM),调试)
  APP_CFLAGS:= -O0 -g $(APP_CFLAGS)
其他
  APP_CFLAGS:= -O2 -g -DNDEBUG $(APP_CFLAGS)
万一

因此​​,要回答你的问题:在NDK R8B(最新的今天),您可以检查

  #IFDEF NDEBUG
//这是释放
#其他
//这是调试
#万一

不过你可以通过添加其他任何编译标志你的 Android.mk Application.mk 根据$( APP_OPTIM),如果你想要的。

In Application.mk you can set:

APP_OPTIM := release
APP_OPTIM := debug

How can I test for release/debug build in C++?

I'm assuming there are defines so I've tried this, but only "NOT" messages are logged:

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

#ifdef DEBUG
    LOGV("DEBUG");
#else
    LOGV("NOT DEBUG");
#endif
解决方案

In android-ndk-r8b/build/core/add-application.mk we read:

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

So, to answer your question: in NDK r8b (the latest for today) you can check

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

But you can add any other compilation flags through your Android.mk or Application.mk depending on $(APP_OPTIM), if you want.

这篇关于如何在code APP_OPTIM清单?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-26 18:50