一、下载cocos2d-x

http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

cocos2d-x-2.1.4.zip @ June.18, 2013

我们可以看到最新版本的2.1.4,这个版本提供了一个用python命令来建立各平台的项目,十分便利

下载,解压(建议解压到主目录下的)

二、下载python

http://www.python.org/getit/

建议选择2.7.5版本的下载

Python 2.7.5 Mac OS X 64-bit/32-bit x86-64/i386 Installer
Python 2.7.5 Mac OS X 32-bit i386/PPC Installer

下载,安装,然后在终端直接输入python,如果出现版本信息则安装成功。

三、建立cocos2d-x项目

进入终端,执行以下命令

cd ~/cocos2d-x-2.1.4/tools/project-creator/
python create_project.py -project game01 -package com.ookcode.game -language cpp

create_project.py要求提供3个参数(工程名:我这里是game01,包名:我这里是com.ookcode.game,语言:cpp | js | lua)

执行成功会显示以下信息

proj.ios        : Done!
proj.android : Done!
proj.win32 : Done!
proj.mac : Done!
proj.blackberry : Done!
proj.linux : Done!
proj.marmalade : Done!
New project has been created in this path: /Users/ookcode/cocos2d-x-2.1.4/projects/game01
Have Fun!

进入game01目录,你可以看到这些项目

Classes
Resources
proj.android
proj.ios
proj.mac
proj.win32
proj.blackberry
proj.linux
proj.marmalade

怎么样,全平台都给你搭好了,而且共用一个Classes文件夹,也就是说你在一个平台更新了代码,全平台都得到了更新。

四、编辑ios项目

进入game01/proj.ios/目录,直接双击打开game01.xcodeproj(别说你没装xcode)

然后点run就可以跑起来了

我在这里曾经犯了一个很2的错误,就是一直在cocos2dx这个目录下run,死活跑不起来

这里要选中game01,不然就变成一直在build cocos2dx了

这个HelloWorldScene.cpp就是你的代码了,你可以自己修改,不过由于所有平台用的都是这个,所以改了之后记得在其他平台也跑下

五、编辑安卓项目(重点,这个比较复杂)

1.下载ADT Bundle

http://developer.android.com/sdk/index.html

(解压到主目录,重命名为adt-bundle,为了下面写路径方便)

2.下载NDK(目前最新版本是:android-ndk-re8)

http://developer.android.com/tools/sdk/ndk/index.html

(解压到主目录)

3.为Eclipse安装CDT插件

打开eclipse,选择菜单Help/Install New Software

在Work With下拉框中选择自己eclipse的版本名,然后在插件里选中Programming Languages,打开下拉列表

选择C/C++ Development Tools安装,重启eclipse

这是你可以新建一个c++的HelloWorld项目试一试

当你运行的时候可能会有如下错误:

gcc: command not found

g++: command not found

打开xcode->preferences->Downloads

你需要下载安装Command Line Tools,安装完成后,重启Eclipse,然后重新运行那个c++项目,你会在Console中看到久违的HelloWorld!

4.配置全局变量

进入终端,执行以下命令

vim ~/.bash_profile

按i进行编辑,输入以下路径

export COCOS2DX_ROOT=/Users/ookcode/cocos2d-x-2.14/
export NDK_ROOT=/Users/ookcode/android-ndk-r8e
export ANDROID_NDK_ROOT=/Users/ookcode/android-ndk-r8e
export ANDROID_SDK_ROOT=/Users/ookcode/adt-bundle/sdk
export PATH=$ANDROID_NDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT:$PATH

按ESC,再输入:wq 保存并退出(基本的vi命令要会)

******这里是我的路径,切记得换成你自己的*******

5.用NDK编译android项目

进入终端,执行以下命令

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
./build_native.sh

然后就是漫长的编译

Compile++ thumb  : cocos2dcpp_shared <= main.cpp
Compile++ thumb : cocos2dcpp_shared <= AppDelegate.cpp
Compile++ thumb : cocos2dcpp_shared <= HelloWorldScene.cpp
Compile++ thumb : cocos_extension_static <= AssetsManager.cpp
Compile++ thumb : cocos_extension_static <= CCBFileLoader.cpp
………
………

当看到

Install        : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

就编译成功了

6.导入android项目

在eclipse中右键,new->project

选择Android Project from Existing Code

Browse到game01的proj.android目录

导入进来后我们发现有这样的错误

这是由于cocos2dx的文件没用正确的包含进来

右键项目->properties->Java Build Path

在Source里点Link Source

Browse到/cocos2d-x-2.1.4/cocos2dx/platform/android/java/src

然后随便取个名字,确定,刚才的错误就消除了!

--------------------------------------------------------------------------------------------------

2013年7月31日更新:

可以直接把/cocos2d-x-2.1.4/cocos2dx/platform/android/java当做一个安卓工程导入,然后都不用设置Link Source,一劳永逸!

--------------------------------------------------------------------------------------------------

7.创建AVD模拟器

注:cocos2d-x需要4.0.3以上的模拟器才能运行,真机无所谓

创建AVD是记得勾选Use Host GPU

右键项目->Run As -> Run Configurations-> Target

在最底部输入

8.运行项目

右键项目-> Run As -> Android Application

然后选择刚才创建的AVD,然后你可以去先喝杯茶(模拟器启动那叫一个慢~

9.编辑项目

千万别在eclipse里面写c++的代码, CDT真受不了。

前面说过,全平台的项目是共用一个classes的,所以,我们可以用xcode打开那个ios的项目

打开HelloWorldScene.cpp这个文件,我们进行一些简单的修改

找到这行代码,我们给他修改一个字体

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);

改成

CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "fonts/Marker Felt.ttf", 128);

你可能会奇怪,为什么字体要这样写"fonts/Marker Felt.ttf"

如果是要ios支持的话直接写Marker Felt就行,不过安卓却不能这样,我们可以看到,安卓项目的目录下有个fonts目录,所以得按这种写法来获得安卓的支持

(不过我疑惑的是,ios明明没用fonts这个目录,它是怎么判断出是这个字体的)

10.运行修改过的项目

在xcode中点击Run

发现了么,字体改变了!

然后接着是android项目,因为修改了代码,所以必须重新编译一次

再次进入终端,输入以下代码

cd ~/cocos2d-x-2.1.4/projects/game01/proj.android
./build_native.sh

这次不会想上一次编译一样花那么久,因为不会再编译一次cocos2dx的代码

Using prebuilt externals
make: Entering directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'
Compile++ thumb : cocos2dcpp_shared <= HelloWorldScene.cpp
SharedLibrary : libcocos2dcpp.so
Install : libcocos2dcpp.so => libs/armeabi/libcocos2dcpp.so
make: Leaving directory `/Users/ookcode/cocos2d-x-2.1.4/projects/game01/proj.android'

出现以上代码就表示编译成功了

我们再回到eclipse,右键项目->Run As -> Android Application

六、结束语

  cocos2d-x的环境实在是很烦人,花了整整一天的时间才搭建好,期间更是碰到各种乱七八糟的错误,所以特地注册个博客,就为了把这次艰辛的环境搭建给记录下来,也

给正在纠结的朋友们提供一些帮助。

  慢慢悠悠写了两个小时,这是我第一次写东西,表达的不是很清楚,还请大家见谅,有什么问题可以回复给我,有什么错误也请指出。

  我现在也在学cocos2d-x,不知道有没有朋友能一起交流-。-(本人93年大2屌丝,技术宅,未婚,木有妹纸0.0)

cocos2d-x系列 Mac下配置cocos2d-x开发环境(android和ios)的更多相关文章

  1. mac下配置Node.js开发环境、express安装、创建项目

    mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...

  2. Mac下配置Java Web开发环境(Mac 10.12)

    1.JDK http://www.cnblogs.com/EasonJim/p/6277541.html 2.MySQL http://www.cnblogs.com/EasonJim/p/62758 ...

  3. Mac下配置神器PhpStrom开发环境

    转载自:http://www.ifun.cc/blog/2014/02/09/macxia-pei-zhi-shen-qi-phpstromkai-fa-huan-jing/ php这么流行,不能不研 ...

  4. Delphi for iOS开发指南(1):在Mac上配置你的开发环境

    http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...

  5. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

  6. Delphi XE-Windows下配置开发环境 (Android版/IOS)

    Delphi XE-Windows下配置开发环境  (Android版/IOS)   http://www.52jike.com/thread-1-1-1.html Delphi XE5的Androi ...

  7. Eclipse平台下配置Go语言开发环境(Win7)

    <Go语言编程>中写到:“从功能和易用性等方面考虑, Eclipse+GoEclipse.LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse+GoEcl ...

  8. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  9. mac 下配置 VS Code 开发 Golang

    对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: 代码着彩 ...

随机推荐

  1. I Hate It HDOJ---1754

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. Linux学习笔记32——select()函数分析【转】

    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程序 ...

  3. SRM 447(1-250pt, 1-500pt)

    DIV1 250 水题...略. DIV1 500 抽象题意:有一个图,指定其中亮点p1和p2,删掉途中其他的一些点,使得p1和p2最短路大于3. 解法:使得p1和p2最短路为2的点一定要删掉.然后, ...

  4. Yii PHP 框架分析(三)

    作者:wdy http://hi.baidu.com/delphiss/blog/item/357663d152c0aa85a1ec9c44.html Yii应用的入口脚本引用出了Yii类,Yii类的 ...

  5. MAC 下安装PIL

    1. 安装使用 pip install pil 结果报如下错误 Collecting PIL Could not find a version that satisfies the requireme ...

  6. hdoj 1698 Just a Hook【线段树区间修改】

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. Android模拟器报"Failed To Allocate memory 8"错误的解决办法

    此错误是我们在允许AVD时,选择了默认的AVD插件所致. 解决方法:减少分配的内存大小.修改AVD的config.ini配置文件,将选项“hw.ramSize=1024”从1024改为256.

  8. PHP的curl实现get,post 和 cookie(实例)

    类似于dreamhost这类主机服务商,是显示fopen的使用 的.使用php的curl可以实现支持FTP.FTPS.HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE ...

  9. java中进程与线程--三种实现方式

    一:进程与线程 概述:几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程.当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程. 进程:进程是指 ...

  10. Spring Aop重要概念介绍及应用实例结合分析

    转自:http://bbs.csdn.net/topics/390811099 此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题.最近项目中遇到了以下几点需求,仔细 ...