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

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

概述我使用jni创建了一个Android项目.现在我想使用预处理器宏来区分lite和完整版本.它应该如下所示:#ifdefLITEautolabel=LabelTTF::create("HelloCocos2dxLite","Arial",24);#elseautolabel=LabelTTF::create("HelloCocos2dxFull","Arial",24);

我使用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中时,同一行也可以工作.

>为什么?
>我如何定义变量,以便我可以为full和lite版本提供两个不同的makefile?

解决方法:

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

总结

以上是内存溢出为你收集整理的Android.mk中的预处理器宏被忽略,但在Application.mk中有效全部内容,希望文章能够帮你解决Android.mk中的预处理器宏被忽略,但在Application.mk中有效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1116084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存