1、编译成android时。须要改动jni/android.mk,每一个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 hellocpp/test.cpp # 从全部文件里提取出全部.cpp文件 FILE_LIST += $(filter %.cpp, $(ALLFILES)) LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
2、常常会遇到无法解析的外部命令。看报错来查是少了什么库。
用CCHttpRequest会遇到CURL、sockets、libExtensions缺失的情况。
在VC里面要导入库:
1、项目-加入现有项目。导入cocos/network和extension两个项目
2、右键引用-加入引用把刚才两个项目导进来。附加包括文件夹里要加一个$(EngineRoot)
3、然后执行会发现缺失CURL等东西。这个时候还要导入lib包。
右键属性-链接器-输入-附加依赖项增加这两个lib
$(EngineRoot)externalcurlprebuiltwin32libcurl_imp.lib
$(EngineRoot)externalwebsocketsprebuiltwin32websockets.lib
这样VS里面执行项目就能够跑起来了,只是编译安卓还须要在android.mk配置:
LOCAL_WHOLE_STATIC_LIBRARIES
+= cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
$(call import-module,extensions)
$(call import-module,network)
$(call import-module,curl/prebuilt/android)
$(call import-module,websockets/prebuilt/android)