避免分别添加项目

Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里       
        分类:            Cocos2d-X基础入门 161人阅读 评论(0) 收藏 举报

手工输入项目需要编译的cpp文件到Android.mk里的缺点

1)繁琐,如果cpp文件很多,简直无法忍受

2)手工输入过程中容易出现错误

3)如果cpp文件更改名称,需要修改Android.mk文件

。。。。等等

下面的样例代码转自:https://gist.github.com/andyque/6060595

  1. <span style="font-family: SimHei; font-size: 18px;">LOCAL_PATH := $(call my-dir) 
  2.   
  3. include $(CLEAR_VARS) 
  4.   
  5. LOCAL_MODULE := game_shared 
  6.   
  7. LOCAL_MODULE_FILENAME := libgame 
  8.   
  9. #traverse all the directory and subdirectory 
  10. define walk 
  11.   $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e))) 
  12. endef 
  13.   
  14. #traverse Classes Directory 
  15. ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes) 
  16.   
  17. FILE_LIST := hellocpp/main.cpp 
  18. FILE_LIST += $(filter %.cpp, $(ALLFILES)) 
  19.   
  20. FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d) 
  21.   
  22. #source file will be compiled 
  23. LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) 
  24.   
  25.                     
  26. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../external/Box2D/ \ 
  27.     $(FILE_INCLUDES) \ 
  28.   
  29.   
  30.   
  31. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static 
  32.              
  33. include $(BUILD_SHARED_LIBRARY) 
  34.   
  35. $(call import-module,CocosDenshion/android) \ 
  36. $(call import-module,cocos2dx) \ 
  37. $(call import-module,extensions) \ 
  38. $(call import-module,external/Box2D)</span> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值