cocos2dx 3.2+ 项目创建与问题总汇

cocos2dx 3.2+ 项目创建与问题总汇,第1张

概述本文为Cocos2d-x 3.x 全平台(Android,iOS)新手开发配置教程攻略,希望对大家有所帮助。因为这篇文章是面对新手的。所以有些地方会啰嗦一些,请勿见怪。如果教程中有错误,欢迎指正。如果在配置开发平台时还遇到问题,欢迎大家讨论。 本文所使用的环境是PC(Win7),HTC G18,MacBook Air 以及 Mini iPad。   一、通用准备工作   1、安装Cocos2d-x

本文为Cocos2d-x 3.x 全平台(AndroID,iOS)新手开发配置教程攻略,希望对大家有所帮助。因为这篇文章是面对新手的。所以有些地方会啰嗦一些,请勿见怪。如果教程中有错误,欢迎指正。如果在配置开发平台时还遇到问题,欢迎大家讨论。

本文所使用的环境是PC(Win7),HTC G18,MacBook Air 以及 Mini iPad。 一、通用准备工作 1、安装Cocos2d-x 3.1 在Cocos2d官网上下载 Cocos2d-x 3.2+引擎,下载后解压缩。 2、安装Eclipse与AndroID SDK 这个在Mac上或是PC上开发都是可以通用的。 Eclipse 在其官网下载( 官网地址)。 AndroID SDK 在AndroID开发者中心下载( 地址)。 Eclipse是开发AndroID需要用到的IDE。这是个很牛的IDE,有许多插件让他变得三头六臂。要开发AndroID的程序,需要下载相关的插件,但如果每个插件要自己配置,会是很蛋痛的事情。 如果是新手,推荐使用:ADT Bundle。这是Eclipse+AndroID SDK的合体,所有的项目都已经帮你配置好了。 3、安装JDK Eclipse需要Java环境才能运行。如果事先没有安装Java环境,则会报错。 解决方案安装jdk( 下载地址)。 一般来说安装之后会自动配置好环境变量。如果还没有解决问题,请查找网络上关于JDK安装的攻略,很多的。 4、安装CDT插件( 下载地址) 这是个Eclipse的插件,用来支持Eclipse中C/C++语言的开发。 从Eclipse的官网下载,下载之后,将features和plusins这两个文件夹里面的内容复制到Ecplise安装目录下对应的文件夹之后就可以了。 5、安装NDK( 下载地址) 这是进行C/C++与Java混合编译的必要工具。记下下载之后解压到的目录,因为到之后的安装中会用到。 6、安装ANT( 下载地址) Cocos的AndroID开发需要用到它,所以下载下来安装好吧。 二、PC环境下配置过程 1、安装VS2012( 官方地址) 网上还有很多其他下载地址。 最好是2012,我曾经试过2010,2013,都会出这样那样的问题。所以,2012! 2、安装python 2.7.6( 下载地址) 因为Cocos2d-x的安装程序是用phthon写的,所以需要这个软件。不要下载python3.0以上的版本,否则运行会出错。如果是Mac,那么天生就自带了。 3、进行开发环境配置 以上的工作完成之后,就可以进行配置了。启动windows的命令行(CMD)工具。进入Cocos2d-x 3.1的安装目录,执行:
      pythonsetup.py  
Cocos2d-x 3.1版本使用这个setup.py来安装,十分方便。执行之后会让你配置上面准备工作中所安装的:ANT、NDK、SDK等目录,把安装到哪儿去了填写进入就行。 4、建立自己的项目 用setup.py配置好Cocos2d-x的环境之后,你的命令行中就会多如“cocos”的命令,新建项目将使用这个命令进行。示例:
    cocosnewhello(项目名称)-pcom.hello(包名字)-lcpp(项目类型)-dE:\MyCocos\cocos2d(目录)  
新建的项目会把所有的源文件和库都拷到你的项目目录中。所以新建的项目文件会很大,有许多人怀疑这个的必要性,不过到你之后的开发中就会知道这种配置方法是对的了。 项目建立好之后,就可以开发了: A、进行VS2012的开发。 找到你的项目目录下的:proj.win32,打开里面的解决方案就行。剩下的就是你的任务了。一般来说,直接就可以运行。 B、进行AndroID的开发。 使用Eclipse中的项目导入,导入proj.androID中的项目方案。导入之后,因为SDK的问题,一般无法启动,关于这个问题,以及其它的问题,请参见(四、其它问题解决方案)。 三、MAC环境下配置过程 1、注册苹果开发者账号( 注册地址) 如果不使用真机,使用模拟器调试,那么有开发者账号应该就足够了。 如果要使用真机调试,需要购买IOS开发者会员,688RMB一年。我看到之前的攻略说要99美元,但是看现在的页面的的提示,应该只要有网银就可以支付了。网上的攻略写得非常复杂,说要下载证书什么什么的,现在统统都不需要了,XCode全部为您代劳了,只要照提示一路点同意就行。 2、安装XCode 在你的开发者首页下面就有XCode的下载。通过App Store下载安装即可。 请使用最新的XCode(需要OS X 10.8以上系统支持),并使用App Store安装。我的MacBook Air从朋友那里拿来时还是10.7,因为下载总是中断,屡次不成功,所以用XCode 4.6,但好像不通过App Store安装会出这样那样的问题。所以强烈推荐使用最新的版本。 3、进行开发者环境配置。 与PC的配置一样,打开MAC的终端程序,执行setup.py,配置好各种SDK的路径就行。但MAC需要再加上一句:
    source/Users/yourname/.bash_profile  
这是用来刷新配置文件的。 4、建立项目文件 使用命令行建立。 如果你像我一样用两个平台(PC与MAC)开发,可以共享同一个项目目录。我的项目文件是放在PC上的,MAC通过共享访问项目文件。 项目建立好之后就可以开发了。MAC下的配置相对简单,使用XCode打开项目目录下的proj.ios_mac下的项目配置文件就行。之后基本不会出错的。 四、其它问题解决方案 Eclipse与AndroID相关: 问题:SDK错误 因为Cocos2d-x的模版默认是使用AndroID 2.3.3(API-10),如果新安装的ADT Bundle或AndroID SDK,是API-19,则会出现错误,解决方案是通过AndroID SDK中的管理工具(SDK Manager)下载AndroID 2.3.3的SDK。 问题:Project 'XXX' is missing required source folder: 'gen' 这个问题就是上面的SDK错误导致的。 问题:undefined reference to 'cocos2d::network::httpClIEnt::getInstance()' 我是使用网络库(network)的时候出现这个错误的。如果你使用其它库,解决方案是一样的。原因是缺少库的引用。解决方案是在AndroID.mk里面增加: LOCAL_WHolE_STATIC_liBRARIES += cocos_network_static Cocos2d-x的开发者已经在AndroID.mk里面加上了很多这种路径,平时是注释掉的。您要使用时把这些增加上去就行。 问题:Fatal error: cocos-ext.h: No such file or directory 问题分析:缺少头文件路径的引用 需要在:AndroID.mk里面增加 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions 问题:The import org.cocos2dx.lib cannot be resolved。 无法找到指定的库文件。解决的方案是增加路径的引用:Project PropertIEs -> Java Build Path -> Source and then linking “项目目录/cocos/platform/androID/java/src” VS2012相关: 问题:“extensions/ExtensionMacros.h”: No such file or directory 无法打开包括文件。 1、解决方案中,添加“现有项目”--> libExtensions 具体目录: ..\cocos2d\extensions\proj.win32\libExtensions.vcxproj 2、项目中添加引用-->libExtensions 3、通过:属性->C/C++->附加包含目录。附加包含目录:$(EngineRoot) 如果你使用其它的文件,解决方案是一样的。1、增加项目的引用。2、附加头文件的包含目录。
当遇到COCOS2DX 3.2+版本创建权限问题时:

首先,打开终端cd到目录/cocos2d-x-3.2/tools/cocos2d-console/bin下,运行cocos.py脚本创建文件。

[JavaScript] view plain copy ./cocos.pynewHelloWorldDemo-pcom.coco2dx.org-lcpp-d~/Desktop

参数说明:

HelloWorldDemo为项目名称

-p后面接包名

-l后面接开发语言类型,有cpp,lua,Js三种类型

-d后面接项目存放的目录

如果出现-bash: ./cocos.py: Permission denIEd,是因为没有权限。用命令chmod修改一下目录下的cocos.py权限就可以了

[cpp] copy chmodu+xcocos.py


终端命令:




COCOS2DX 官方项目创建过程: 准备工作

到Cocos2d-x官方网站下载最新版本v3.2alpha0

到AndroID官方网站下载Android SDK

最后还需要在AndroID官方网站下载Android NDK

JDK

检测JDK是否安装,版本是否大于1.6.0。打开终端,输入:

1java -version

MacOS X会自动下载JDK,如图所示。



你会看到如下所示信息:

java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

检查完后,便可开始设置Mac的AndroID开发环境。

@H_687_502@ 配置AndroID SDK环境

解压ZIP文件(名字为“adt-bundle-.zip”),保存至适当位置如主目录的“Development”(开发)目录。

打开adt-bundle-/eclipse/目录并启动Eclipse。
就这样!至此集成开发环境已经加载了AndroID开发人员(AndroID Developer Tools)工具插件,SDK已经准备就绪。

在MBP Retina电脑中安装Eclipse

如果你用的是配备Retina显示屏的MacBook Pro电脑,注意原装Eclipse不支持Retina显示屏,但是可以使用简单的技巧启动Retina支持功能。(本方法来自:https://bugs.eclipse.org/bugs/show_bug.cgi?id=382972)

在Eclipse.app上执行“Show package contents” 编辑Contents/Info.pList文件。 就在以下代码上方
</dict> </pList>
增加以下代码
<key>NSHighResolutionCapable</key> <true/> 将Eclipse.app应用移至一个新文件夹(清除OS X中info.pList文件的缓存),然后再移回旧文件夹。 5.启动Eclipse即可,已支持Retina显示屏。

打开Eclipse,选择”ADT->偏好设置”,然后选择AndroID项来指定AndroID SDK的安装目录。如下图所示:

配置NDK环境

将iOS项目源文件编译成项目时需要用到NDK来生成native文件。

先解压下载的NDK和ADT放在同一个父文件夹里。

按如下 *** 作添加NDK环境变量:

export NDK_ROOT="/Users/yiming/Desktop/androID-ndk-r9"

重启终端。

创建HelloWorld项目

将刚才下载的压缩包解压到你指定的文件夹里。

进入到目录**cocos2d-x-3.2Alpha0/tools/cocos2d-console/bin/cocos.py**

打开终端运行**cocos.py**脚本创建文件

./cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop或者python cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop

参数说明:

HelloWorldDemo为项目名称 -p后面接包名 -l后面接开发语言类型,有cpp,Js三种类型 -d后面接项目存放的目录 生成AndroID项目文件

执行**HelloWorldDemo/proj.androID**下的*build_native.py*脚本进行编译

编译成功!

并将**HelloWorldDemo/cocos2d/cocos/2d/platform/androID/java/src/org/cocos2dx/lib**文件夹拷贝到**HelloWorldDemo/proj.androID/src/org/cocos2dx**下。

导入AndroID项目到Eclipse

通过导入一个已存在的AndroID项目的方法将生成的HelloWorldDemo导入到Eclipse中如下:

http://write.blog.csdn.net/postedit/40741819

你可能看到如下错误提示:

The import org.cocos2dx.lib cannot be resolved HelloWorld.java /HelloWorld/src/com/young40/test line 26 Java Problem Cocos2dxActivity cannot be resolved to a type HelloWorld.java /HelloWorld/src/com/young40/test line 30 Java Problem Cocos2dxActivity cannot be resolved to a type HelloWorld.java /HelloWorld/src/com/young40/test line 33 Java Problem

你需要将

/opt/cocos2d-2.1beta3-x-2.1.1/cocos2dx/platform/androID/java

按照上面的方法导入到Eclipse里面。然后在HelloWorldDemo项目上单击右键刷新,错误就会消失。

将您的手机设置成调试模式并用USB线连接到电脑,在Eclipse中运行HelloWorld,然后就能在手机上看到已经运行的HelloWorld了!



新问题汇总:
问题1:
Cocos2d-x 3.2正式版,iOS程序编译没任何问题,结果使用cocos compile -p androID编译生成APK程序,结果悲剧了,出现以下错误。

AndroID NDK: InvalID APP_STL value: c++_static

AndroID NDK: Please use one of the following instead: system stlport_static stlport_static_hard stlport_shared stlport_shared_hard gnustl_static gnustl_shared gabi++_static gabi++_shared libc++_static libc++_shared none

make: Entering directory `/game/physics_engine/proj.androID‘

/sdk/ndk/androID-ndk-r9c/build/core/add-application.mk:274: *** AndroID NDK: Aborting . Stop.

make: Leaving directory `/game/physics_engine/proj.androID‘

Error running command,return code: 2

很显然,这个错误是使用了不正确的STL library,解决方案有如下两个。

方案1:临时方案

修改Application.mk文件,将原来的前4行替换为如下的内容。然后替换就ok了

原来的内容如下:

APP_STL := c++_static

NDK_TOolCHAIN_VERSION=clang

APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char

APP_LDFLAGS := -latomic

替换后的内容如下:

APP_STL := gnustl_static

APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char

方案2:

由于c++_static只有在最新的NDK中才可使用,所以下载最新的NDK就可以了

大家可以从http://developer.androID.com/tools/sdk/ndk/index.HTML下载最新的NDK版本,然后从新设置ndk路径即可。


问题2:
MAC 上找不到.bash_profile该怎么办?

1. 启动终端Terminal

2. 进入当前用户的home目录

输入cd ~

3. 创建.bash_profile

输入touch .bash_profile

4. 编辑.bash_profile文件

输入open -e .bash_profile

因为是为了搭建AndroID开发环境,输入AndroID SDK下的tools目录:export PATH=${PATH}:/eclipse/androID_sdk/tools

5. 保存文件,关闭.bash_profile

6. 更新刚配置的环境变量

输入source .bash_profile

7. 验证配置是否成功

输入androID启动AndroID SDK and AVD Manager


问题3:
编译2DXLUA项目时出现的错误:
编译打包:cocos compile -p androID --ap20
CPP代码编译完成后出现错误:
/Users/ks/documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:892: The following error occurred while executing this line:
/Users/ks/documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:894: The following error occurred while executing this line:
/Users/ks/documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:906: The following error occurred while executing this line:
/Users/ks/documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:284: null returned: 2
解决方法:
进入project.propertIEs ,#androID.library.reference.1=../cocos2d/cocos/platform/androID/java,前面加个#,当前行注释掉;

结束; 总结

以上是内存溢出为你收集整理的cocos2dx 3.2+ 项目创建与问题总汇全部内容,希望文章能够帮你解决cocos2dx 3.2+ 项目创建与问题总汇所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1008019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存