我使用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中有效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)