cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件

来源:互联网 发布:java ssm权限管理 编辑:程序博客网 时间:2024/05/17 08:27

时间 2014-05-13 16:16:34  CSDN博客

还记得上一篇android mk 文件的写法吗? 传送门,

我们需要手动去添加 cpp文件,如果cpp一多,那不是要累死?

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dcpp_sharedLOCAL_MODULE_FILENAME := libcocos2dcppLOCAL_SRC_FILES := hellocpp/main.cpp \  ../../Classes/AppDelegate.cpp \  ../../Classes/ClipingNodeLayer.cpp\  ../../Classes/MainScene.cpp\  ../../Classes/MenuTab.cppLOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_staticLOCAL_WHOLE_STATIC_LIBRARIES += box2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static          # 添加 cocos_extension 静态库LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static# 添加 cocostudio 静态库include $(BUILD_SHARED_LIBRARY)$(call import-module,2d)$(call import-module,audio/android)$(call import-module,Box2D)$(call import-module,extensions)# 导入 extensions 模块$(call import-module,editor-support/cocostudio)# 导入 cocostudio 模块

  看了网上许多大神的博客,才发现还可以这样子自动遍历cpp,比如上面这个mk文件,只需要把

LOCAL_SRC_FILES := hellocpp/main.cpp \                   ../../Classes/AppDelegate.cpp \                   ../../Classes/ClipingNodeLayer.cpp\                   ../../Classes/MainScene.cpp\                   ../../Classes/MenuTab.cpp
改为
# 遍历目录及子目录的函数define walk  $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))endef# 遍历Classes目录ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)           FILE_LIST := hellocpp/main.cpp# 从所有文件中提取出所有.cpp文件FILE_LIST += $(filter %.cpp, $(ALLFILES))LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

其他部分不变。恩然后就行了。。

改完之后完整android mk 文件如下:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dcpp_sharedLOCAL_MODULE_FILENAME := libcocos2dcpp# 遍历目录及子目录的函数define walk  $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))endef# 遍历Classes目录ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)           FILE_LIST := hellocpp/main.cpp# 从所有文件中提取出所有.cpp文件FILE_LIST += $(filter %.cpp, $(ALLFILES))LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_staticLOCAL_WHOLE_STATIC_LIBRARIES += box2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static  # 添加 cocos_extension 静态库LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static# 添加 cocostudio 静态库include $(BUILD_SHARED_LIBRARY)$(call import-module,2d)$(call import-module,audio/android)$(call import-module,Box2D)$(call import-module,extensions)# 导入 extensions 模块$(call import-module,editor-support/cocostudio)# 导入 cocostudio 模块
0 0
原创粉丝点击