zoukankan      html  css  js  c++  java
  • 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>  
  • 相关阅读:
    js 构造函数 constructor
    js foreach和map区别
    js 静态方法和实例方法
    学习知识点总结(es6篇)
    java1.5新特性(转)
    21 Managing the Activity Lifecycle
    Java进阶Collection集合框架概要·16
    Java进阶核心之集合框架Map下集·18
    Java进阶核心之集合框架Set·19
    Java进阶核心之集合框架List·17
  • 原文地址:https://www.cnblogs.com/shiweihappy/p/4246363.html
Copyright © 2011-2022 走看看