原文:http://www.cocoachina.com/bbs/simple/?t226339.html
Cocos2d-x今天的成功一个重要的原因就是跨平台特性,一次编码多平台运行真的是减轻了程序员不少的痛苦。因此作为X-MAN我们需要额外掌握的一项技能就是移植了,然而这个时候各种各样的问题也就来了。虽然Cocos2d-x的3.x版本,移植变得更加人性化,但是论坛中关于Cocos的移植问题却没有少过。所以,作为版主有必要将这些问题进行总结整理,方便大家查看。 首先要附上几篇教程,都是关于Cocos2d-x打包移植Android平台的,每个版本都有对应不同平台的教程,教程是我在网上找的(希望没有侵权),大家如果有更好的教程欢迎推荐! 一、Win平台 2.x参考文章 Cocos2dx移植android平台-我的血泪史 3.x参考文章 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android) Cocos2d-x 3.0正式版及android环境搭建详细教程 cocos2d-x-3.0新建工程以及移植其他平台 二、Mac平台 2.x参考文章 Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行Cocos2dX自带TestsDemo项目 3.x参考文章 Mac搭建Cocos2d-x v3.2alpha0 Android开发环境 三、问题集锦 以下是一些常见问题的集锦,没有覆盖的很全面,只是一部分,所以这个帖子将长期有效,大家在移植过程中总结的一些移植心得希望可以在帖子下留言,我整理以后将在本帖中发布出来,供更多的开发者学习。 1、Cocos2d-x版本ndk版本必须使用ndkr9d,使用ndkr9或者其他版本都不可以。 问题参考链接: http://www.cocoachina.com/bbs/read.php?tid=225764 http://www.cocoachina.com/bbs/read.php?tid=215902 2、错误日志: 19:15:03 **** Incremental Build of configuration Default for project DragonBall **** "D:android-ndk-r9dndk-build.cmd" all 系统找不到指定的路径。 19:15:03 Build Finished (took 526ms) 解决方案: 出现错误的原因可能是NDKr9d版本没有选择正确,有64和32位之分,要和自己电脑的版本对应起来。 3、错误日志: "D:android-ndk-r9dndk-build.cmd" all Android NDK: WARNING: Ignoring unknown import directory: E:cocos2d-x-2.2.3 Android NDK: jni/Android.mk: Cannot find module with tag 'cocos2dx' in import path Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? Android NDK: The following directories were searched: Android NDK: jni/Android.mk:66: *** Android NDK: Aborting. . Stop. 解决方案: 如果NDK路径设置不正确可能会出现如下的错误信息。大家需要检查一下NDK的路径是否正确,在win平台下路径要用正斜杠而不是反斜杠。 4、错误日志: make: *** No rule to make target `jni/../../Classes/HelloWorldcene.cpp',needed by `obj/local/armeabi/objs-debug/cocos2dcpp_shared/__/__/Classes/HelloWorldcene.o'. Stop. make: Leaving directory `/Users/mac/Documents/cocos2d-x/cocos2d-x-3.0/projects/Test8/proj.android' Error running command,return code: 2 解决方案: 出现如下的错误是.mk文件中的cpp文件名没有写正确,例如HelloWorldScene文件写成了HelloWorldcene。 5、错误日志: **** Build of configuration Default for project FirstGame **** E:android-ndk-r9cndk-build.cmd Android NDK: WARNING:E:/cocos2d-x-2.2.3/cocos2dx/Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries [armeabi] Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so 解决方案: 需要将eclipse工程项目下的dependencies库移除。如果错误任然存在,可以尝试刷新一下工程。 6、错误日志: format not a string literal and no format arguments 解决方案: 点击这个问题会定位到CCString::createWithFormat(xxx)这个函数上,一般都是没有加格式控制符导致的,需要写成createWithFormat("%s",xxx); (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|