CSDN博客
还记得上一篇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) Box2D) # 导入 extensions 模块 # 导入 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,1)/*),128)">$(call walk,128)">$(e))) endef # 遍历Classes目录 ALLFILES = $(LOCAL_PATH)/../../Classes) FILE_LIST := hellocpp/main.cpp # 从所有文件中提取出所有.cpp文件 FILE_LIST += $(filter %.cpp,128)">$(ALLFILES)) LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
其他部分不变。恩然后就行了。。
改完之后完整android mk 文件如下:
:= libcocos2dcpp $(foreach e,153)">1)/*),136); font-style:italic"># 遍历Classes目录 ALLFILES = /../Classes) FILE_LIST := hellocpp/main.cpp # 从所有文件中提取出所有.cpp文件 FILE_LIST += $(filter %.cpp,128)">$(ALLFILES)) LOCAL_SRC_FILES $(FILE_LIST:$(LOCAL_PATH)/%=%) LOCAL_C_INCLUDES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static # 导入 cocostudio 模块
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。