Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里
2014-12-29 19:55
615 查看
手工输入项目需要编译的cpp文件到Android.mk里的缺点
1)繁琐,如果cpp文件很多,简直无法忍受
2)手工输入过程中容易出现错误
3)如果cpp文件更改名称,需要修改Android.mk文件
。。。。等等
下面的样例代码转自:https://gist.github.com/andyque/6060595
[plain] view
plaincopy
<span style="font-family:SimHei;font-size:18px;">LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
#traverse all the directory and subdirectory
define walk
$(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
#traverse Classes Directory
ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
FILE_LIST := hellocpp/main.cpp
FILE_LIST += $(filter %.cpp, $(ALLFILES))
FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
#source file will be compiled
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../external/Box2D/ \
$(FILE_INCLUDES) \
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,external/Box2D)</span>
1)繁琐,如果cpp文件很多,简直无法忍受
2)手工输入过程中容易出现错误
3)如果cpp文件更改名称,需要修改Android.mk文件
。。。。等等
下面的样例代码转自:https://gist.github.com/andyque/6060595
[plain] view
plaincopy
<span style="font-family:SimHei;font-size:18px;">LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
#traverse all the directory and subdirectory
define walk
$(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
#traverse Classes Directory
ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
FILE_LIST := hellocpp/main.cpp
FILE_LIST += $(filter %.cpp, $(ALLFILES))
FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
#source file will be compiled
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../external/Box2D/ \
$(FILE_INCLUDES) \
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,external/Box2D)</span>
相关文章推荐
- Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- Cocos2d-x 避免手工输入项目需要编译的cpp文件到Android.mk里
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- cocos2d-x 避免手打输入项目cpp文件到android.mk里面编译
- 关于cocos2d移植到Android上Android.mk需要手动增加cpp文件的问题
- cocos2d-x避免手动修改android.mk文件来编译
- Cocos2d-x--避免手动在Android.mk文件中手动添加cpp文件
- cocos2d-x避免手动修改android.mk文件来编译
- cocos2d-x避免手动修改android.mk文件来编译
- cocos2d-x避免手动修改android.mk文件来编译
- cocos2d-x避免手动修改android.mk文件来编译
- cocos2d-x 3.0 将cpp-tests编译成Android版本APK文件
- cocos2d-x在Android上的编译过程(3):简化Android.mk文件的编写
- cocos2d-x 3.0 将cpp-tests编译成Android版本号APK文件
- cocos2d-x 3.0 android mk文件 之 自动遍历*.cpp文件
- Android.mk文件中包含cpp文件的三种写法-(cocos2d-x 学习笔记)
- COCOS2D-X 停止手打所有cpp文件到android.mk
- 做一个懒cocos2d-x程序猿(一)停止手打所有cpp文件到android.mk