cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
2014-12-23 23:26
477 查看
时间 2014-05-13 16:16:34 CSDN博客
原文 http://blog.csdn.net/shun_fzll/article/details/25718893还记得上一篇android mk 文件的写法吗? 传送门,
我们需要手动去添加 cpp文件,如果cpp一多,那不是要累死?
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/ClipingNodeLayer.cpp\ ../../Classes/MainScene.cpp\ ../../Classes/MenuTab.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_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_shared
LOCAL_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)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_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 模块
相关文章推荐
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- cocos2d-x 3.0 android mk文件 之 自己主动遍历*.cpp文件
- cocos2d-x开发 android.mk自动获取.cpp和.c文件
- Cocos2d-x中android.mk文件中cpp文件的自动生成
- cocos2d-x android.mk文件中添加源文件,不需要每个cpp都去手动去包含一次
- Android.mk文件中包含cpp文件的三种写法-(cocos2d-x 学习笔记)
- 做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk
- Cocos2d-x 关于Android.mk 自动读入CPP
- Cocos2d-x 关于Android.mk 自动读入CPP
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
- 做一个懒cocos2d-x程序猿(一)停止手打所有cpp文件到android.mk
- COCOS2D-X 停止手打所有cpp文件到android.mk
- 做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk[转]
- Cocos2d-x Android.mk自动生成.cpp与.c类路径
- cocos2d-x 3.0 beta 自动生成Android.mk
- cocos2d-x 3.0 将cpp-tests编译成Android版本号APK文件
- COCOS2D-X 停止手打所有cpp文件到android.mk
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译