因为要用批处理实现工程的SVN更新,打包SO,生成APK,所有使用了批处理命令和ant。其中,我发现去编译SO 的时候出现了状况
MK文件如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_CFLAGS += -fpermissive
LOCAL_SHORT_COMMANDS := true
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)/=)
FILE_INCLUDES := (shell find (LOCAL_PATH)/…/…/Classes -type d)
LOCAL_C_INCLUDES := (FILE_INCLUDES)
LOCAL_C_INCLUDES += (LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/include
(LOCAL_PATH)/../../../cocos2dx-2.2.6/cocos2dx/kazmath/include \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/platform/android
(LOCAL_PATH)/../../../cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt/libiconv/include
(LOCAL_PATH)/../../../cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt/libxml2/include \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt/libcurl/include/curl
(LOCAL_PATH)/../../../cocos2dx-2.2.6/external \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/CocosDenshion/include
(LOCAL_PATH)/../../../cocos2dx-2.2.6/extensions \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/scripting/lua/tolua
(LOCAL_PATH)/../../../cocos2dx-2.2.6/scripting/lua/luajit/include \
(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/scripting/lua/cocos2dx_support
$(LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/support/zip_support
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_lua_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static
LOCAL_WHOLE_STATIC_LIBRARIES += libiconv
LOCAL_WHOLE_STATIC_LIBRARIES += libxml2_static
(call import-add-path, (LOCAL_PATH)/../../../cocos2dx-2.2.6) \
(call import-add-path, (LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx)
$(call import-add-path, (LOCAL_PATH)/…/…/…/cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt) \
include (BUILD_SHARED_LIBRARY)
(call import-module,cocos2dx)
(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
(call import-module,CocosDenshion/android)
(call import-module,extensions)
(call import-module,libxml2)
(call import-module,libiconv)
(call import-module,scripting/lua/proj.android)
##############################################################
然后出现了如下的错误:
E:\SVNwc\BomberMan_3\proj.android\jni>ndk-build “NDK_MODULE_PATH=E:/SVNwc/cocos2
dx-2.2.6;E:/SVNwc/cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt”
FIND: 参数格式不正确
Android NDK: WARNING: Ignoring unknown import directory: (LOCAL_PATH)/…/…/…/
cocos2dx-2.2.6
Android NDK: WARNING: Ignoring unknown import directory: (LOCAL_PATH)/…/…/…/
cocos2dx-2.2.6/cocos2dx
Android NDK: WARNING: Ignoring unknown import directory: (LOCAL_PATH)/…/…/…/
cocos2dx-2.2.6/cocos2dx/platform/third_party/android/prebuilt
Android NDK: WARNING:E:/SVNwc/cocos2dx-2.2.6/cocos2dx/Android.mk:cocos2dx_static
: LOCAL_LDLIBS is always ignored for static libraries
Compile++ thumb: cocos2dcpp_shared <= main.cpp
E:/SVNwc/BomberMan_3/proj.android//jni/hellocpp/main.cpp:1:25: fatal error: AppD
elegate.h: No such file or directory
compilation terminated.
make.exe: *** [E:/SVNwc/BomberMan_3/proj.android//obj/local/armeabi/objs/cocos2d
cpp_shared/hellocpp/main.o] Error 1
E:\SVNwc\BomberMan_3\proj.android\jni>


