首页 > 代码库 > VS2012开发cocos游戏遇到问题汇总

VS2012开发cocos游戏遇到问题汇总

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)external\curl\prebuilt\win32\libcurl_imp.lib
$(EngineRoot)external\websockets\prebuilt\win32\websockets.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)