还记得上一篇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 模块


更多相关文章

  1. android通过JNI控制GPIO
  2. ArcGIS for Android(安卓)临时图层绘制文字 汉字不显示问题
  3. linux开机logo 和 android开机logo 的修改
  4. Android获取SD卡上的APK文件
  5. Android(安卓)中String.xml文件中的错误
  6. Bugly Android自动上传符号表
  7. android 短信 彩信 数据库 转
  8. 关于使用谷歌地图的问题
  9. DEX 方法超过64K限制和gradle编译OOM问题解决

随机推荐

  1. Android(安卓)文件下载三种基本方式
  2. as android 打包
  3. Android(安卓)打开Gallery
  4. 使用代码为textview设置drawableLeft
  5. Android渲染器Shader:环状放射渐变渲染器R
  6. Android - DownloadManager的使用
  7. Android HandlerThread使用方法
  8. Android 中Button点击频率的控制
  9. 重写dialog
  10. 2011.09.20(3)——— android canvas.clipR