我使用 jni 创建了一个 Android 项目。现在我想使用预处理器宏来区分精简版和完整版。它应该看起来像这样:
#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?
最佳答案
APP_CPPFLAGS
和所有其他 APP_ make 变量应在 Application.mk 中设置。对于每个模块的更改,请使用LOCAL_CPPFLAGS
或LOCAL_CFLAGS
关于android - Android.mk 中的预处理器宏被忽略,但在 Application.mk 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601420/