• Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里


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

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

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

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

    。。。。等等

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

    [plain] view plaincopy
    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>  
  • 相关阅读:
    SiteMap Editor for Microsoft Dynamics CRM 2011 使用说明
    Microsoft Dynamics CRM 2011 如何导入组织
    SQL server 2008数据库的备份与还原(转)
    css列表
    css栅格
    css-排版
    类的操作
    事件的委派
    正则验证手机号和电子邮件
    div跟随鼠标移动
  • 原文地址:https://www.cnblogs.com/shiweihappy/p/4246363.html
Copyright © 2020-2023  润新知