无需手动添加源文件和头文件目录的android.mk文件

本文介绍了作者在将cocos2d-x工程转换为Android工程时遇到的问题,即手动维护LOCAL_SRC_FILES和LOCAL_C_INCLUDES的繁琐。作者探索了自动处理头文件路径的方法,通过shell调用在makefile中实现,虽然存在效率损失,但解决了问题。文章分享了经过多个小时努力后的解决方案,对于遇到类似问题的开发者可能有所帮助。
摘要由CSDN通过智能技术生成

不知道为什么,cocos2d-x火了这么久了,从win32工程转一个android工程并编译出包这个过程,居然到现在还没有一个一键转换为eclipse工程并且能直接正常编译的东西?大概是我孤陋寡闻不知道也说不定。

这台新买的笔记本上cygwin安装了两个晚上终于算是安装的勉强能用了,晚上看了下mk文件,又顿时对要维护源文件列表LOCAL_SRC_FILES和头文件路径LOCAL_C_INCLUDES蛋疼不已。

网上搜索了下,LOCAL_SRC_FILES的自动包含可谓满地跑,但不知为什么头文件包含路径的自动处理却一个也没看到。真正去看了下make的过程,当前路径一直在变化,又看了下makefile的语法,似乎没有合适的字符串操作(patsubst只能过滤掉固定的东西)。好在makefile还留了个shell的调用接口,虽然据说会有一定的效率损失。


其实想想,include目录这种东西,其实路径也没几个,而且写的认真点的人,在cpp include的时候,说不定就已经用了../../之类的路径。就不会有像我拿到手的测试工程一样,有要加很多个目录的困扰。实在不行,在mk文件中,硬编码工程的绝对路径再find,说起来效率还高点。但我就是个蛋疼帝……在makefile里加sed,真心有点麻烦。stackoverflow里一个仁兄的回答看起来不能用,不知道是不是因为我是cgwwin而不是正式unix环境的原因。http://stackoverflow.com/questions/3800257/sed-in-makefile-usage。好几个小时shell和makefile鼓捣来鼓捣去到睡眼惺忪的时候,总算是给折腾好了,下面就是成果,虽然其实没有多大的实际意义大概……


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值