Android.mk中的预处理器宏被忽略,但在Application.mk中有效

 东儿2502858537 发布于 2023-02-10 12:01

我使用jni创建了一个Android项目.现在我想使用预处理器宏来区分lite和完整版本.它应该如下所示:

#ifdef LITE
    auto label = LabelTTF::create("Hello Cocos2dx Lite", "Arial", 24);
#else
    auto label = LabelTTF::create("Hello Cocos2dx Full", "Arial", 24);
#endif

为此,我在Android.mk中的APP_CPPFLAGS中定义了一个变量,如下所示:

APP_CPPFLAGS += -DLITE

不幸的是,应用程序完全忽略它,我仍然看到标签"Hello Cocos2dx Full".但是,当我将它放在Application.mk中时,同一行也可以工作.

这是为什么?

如何定义变量,以便我可以为完整版和精简版提供两个不同的makefile?

Alex Cohn.. 8

APP_CPPFLAGS所有其他APP_ make变量都应该在Application.mk中设置.对于每个模块的更改,请使用LOCAL_CPPFLAGSLOCAL_CFLAGS

1 个回答
  • APP_CPPFLAGS所有其他APP_ make变量都应该在Application.mk中设置.对于每个模块的更改,请使用LOCAL_CPPFLAGSLOCAL_CFLAGS

    2023-02-10 12:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有