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

本文为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的安装文件夹,运行:

  1. python setup.py

Cocos2d-x 3.1版本号使用这个setup.py来安装,十分方便。

运行之后会让你配置上面准备工作中所安装的:ANT、NDK、SDK等文件夹。把安装到哪儿去了填写进入即可。

4、建立自己的项目

用setup.py配置好Cocos2d-x的环境之后,你的命令行中就会多如“cocos”的命令,新建项目将使用这个命令进行。

演示样例:

  1. cocos new hello(项目名称)-p com.hello(包名字)-l cpp(项目类型) -d E:\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须要再加上一句:

  1. 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

Cocos2d-x的开发人员已经在Android.mk里面加上了非常多这样的路径。平时是凝视掉的。您要使用时把这些添加上去即可。

问题: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

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

參数说明:

HelloWorldDemo为项目名称

-p后面接包名

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

-d后面接项目存放的文件夹

假设出现-bash: ./cocos.py: Permission denied,是由于没有权限。用命令chmod改动一下文件夹下的cocos.py权限就能够了

[cpp] view
plain
copy

  1. chmod u+x cocos.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开发环境。

配置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

  1. 在Eclipse.app上运行“Show package contents”
  2. 编辑Contents/Info.plist文件。

  3. 就在下面代码上方

    </dict>
    </plist> 

    添加下面代码

    <key>NSHighResolutionCapable</key>
    <true/>

  4. 将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,
    lua, 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下的

c=news&cf=1001&ch=0&di=128&fv=15&jk=31f7e1a8c954ec3d&k=tools&k0=tools&kdi0=0&luki=1&n=10&p=baidu&q=smileking_cpr&rb=0&rs=1&seller_id=1&sid=3dec54c9a8e1f731&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1682280&u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2FAndroid%2F201405%2F194689%2Eshtml&urlid=0" id="1_nwl" style="text-decoration:none">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。前面加个#。当前行凝视掉;

结束;

时间: 2024-12-26 15:13:22

cocos2dx 3.2+ 项目创建与问题总汇的相关文章

Cocos2d-x v3.1项目创建(三)

Cocos2d-x v3.1项目创建(三) Cocos2d-x官方为我们提供了用于创建.编译.运行和部署的一套命令行的工具集,也就是上篇文章中我们所提到的Cocos2d-Console,它位于我们的引擎目录下的tools子目录中.本篇文章主要要说明的是如何创建Cocos2d-x项目,所以对于编译.运行和部署就不做介绍了.以后项目的编译.运行和部署我们都将在ADT开发环境中进行,但是项目的开发将在VS2012中进行. 我们先来了解Cocos2d-Console的一些相关参数并通过实例演示如何生成项

Cocos2d-x 2.x项目创建

cocos2d-x下载地址:http://www.cocos2d-x.org/download 2.0之后的创建项目 1. cd cocos2d-x-2.2.1/tools/project-creator/ 2. ./create_project.py -project HelloWorld -package com.example.HelloWorld -language cpp 3. 在cocos2d-x-2.2.1/projects目录下会看到HelloWorld工程

1 游戏逻辑架构,Cocos2d-x游戏项目创建,HelloWorld项目创建,HelloWorld程序分析,(CCApplicationProtocol,CCApplication,AppDeleg

 1 游戏逻辑架构 详细介绍 A 一个导演同一时间只能运行一个场景,场景当中,可以同时加载多个层,一个层可以可载多个精灵.层中亦可以加层. B  场景切换 sceneàaddChild(layer); layeràaddChild(sprite); 2 项目创建命令: A 进入tools下的project-creat E:\Installed\cocos2d-x-2.2.3\tools\project-creator> B python create_project.py -project

Cocos2d-x项目创建

以创建HelloWorld项目为例子,执行create_project.py脚本,进入Doc界面输入下面的命令: (1)E:   (切换盘符,因为我的Cocos2d-x源码在E盘,create_project.py在该目录下.) (2)cd E:\\Cocos2D\\cocos2d-x-2.2.2\\tools\\project-creator   (进入到create_project.py脚本所在目录) (3)下载python,下载地址:http://www.python.org/getit/

cocos2d-x 3.0 HelloWorld项目创建

1.cocos2d支持python,创建项目都可以用它自带的脚本, 所以第一步下载安装python, 然后配置系统环境变量, 让操作系统支持python脚本, 能找到二进制文件 地址: https://www.python.org/ 2.下载cocos2d-x 3.0 源码,解压 地址: http://www.cocos2d-x.org/ 3.安装vs2012 开发工具 4.解压cocos2d-x, 打开cmd,进入cocos2d-x  3.0中cocos2d-console目录执行创建项目脚本

cocos2dx 2.2.3创建新项目

cmd cd G:\DesignSoftware\cocos2d-x-2.2.3\cocos2d-x-2.2.3\tools\project-creator create_project.py -project HelloWorld -package com.gkh.helloworld -language cpp cocos2dx 2.2.3创建新项目

win8下cocos2dx-3.2+VS2012环境配置及项目创建

转自http://88cto.com/996655/article/details/33738.html 这是本人CSDN的第一篇博客,因为假期在学校做实训项目接触到了cocos2dx,觉得是一个特别适用强大,有不错的可移植性(虽然可移植性不错,但实际上写好的游戏往Android上移植,我的队友废了好大劲...),所以打算深入学习一下,写一些博客与大家共享,慢慢我发现CSDN博客真的是许多编程爱好者的乐土,所以想要在这里开辟出自己的一点儿空间,留下一些东西,给自己回味,给别人品评. 另外,情况是

小程序入门(0)项目创建篇

已经创建项目的可以看我另一篇讲解 小程序入门讲解 (1)项目结构篇. 官方下载地址 安装后扫描二维码登入. 添加项目 你应该是没有APPID的 选择无APPID 会缺少一项功能后面讲解(目前只发现一项). 好了项目创建好了,有点过分简单了点是不是,但这页面不是我自己创建的就很不舒服,特别想自己创建一个页面,所以去认识项目的结构,我在另一篇讲解的还算清晰.小程序入门讲解 (1)项目结构篇. 讲一下没有APPID 和 有APPID 的功能缺失在哪里,先看图然后自己做一下对比 目前我还没有发现其他的不

.Net程序员玩转Android开发---(2)Hello World项目创建

对于程序员来说,刚开始接触到的第一个项目都是Hello World, 我们这里第一个项目也从Hello Word创建. 1. 项目创建 运行eclipse.exe文件,打开开发工具eclipse,选择项目存放位置,界面如下 打开eclipse后,选择 file-new--Android Applicaton Project创建Android项目,界面如下 步骤如下 2.