目前我配置的环境需求如下:

JDK 1.6

XCode Version 4.6 (4H127)

Cocos2d-x 2.2.0 

Android Developer 

一,下载安装

要配置环境一次性下载准备要以下东西:

1,下载jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

2,下载ndk,地址:http://developer.android.com/tools/sdk/ndk/index.html

3, ADT + sdk ,地址:http://developer.android.com/sdk/index.html

4,下载最新的Cocos2dx,目前已经到了2.2版本了,地址:http://cocos2d-x.org/download 官网改动挺大;

ps:2.1.5以上的版本编译工程创建都有一些差距;

5,下载xcode,我的是老版本4.6不用升级,破解了无证书的,没必要直接老版本更新,可以直接去网上下载安装包;

ps:破解地址也给一个吧http://blog.csdn.net/abcddtt/article/details/9074099对于没有证书或者真机调试新项目给别人看很有用的;

二,环境的配置安装

1,ios 的环境cocos2d-x2.2.0版本安装与升级

先安装好xcode,然后解压出cocos2d-x2.2的文件,从2.1.5以上后就没有模板的安装了,直接解压后用/Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/tools/project-creator目录下的create_project.py文件安装建工程

但是如果2.1.5之前的想升级cocos2dx2.2.0版本,进行如下操作:

(1)找以前旧版本的如cocos2d-x-2.1.4的install-templates-xcode.sh拷贝到2.2的目录下面

(2)再把/Users/yourmacname/cocos2dx.2.1.4/cocos2d-x-2.1.4/template/xcode4 整个文件夹复制到对应/cocos2dx.2.2.0/cocos2d-x-2.2.0/template/ 下面

(3)先获取mac的root权限,命令行执行 install-templates-xcode.sh -u-f ,看到installed就升级成功了,xocde新建工程看cocos2d.cpp就是2.2版本的了;

2, android 环境安装配置,jdk,ndk,eclipse 下载完之后整理以下目录,然后开始配置mac下的环境变量

整理后的目录放在users根目录下:

打开终端配置环境变量,输入以下命令:

vim ~/.bash_profile

按键i,进行插入编辑(如果输错d进行删除一行)

修改以下路径:

export PATH=$PATH:/Users/yourmacname/adtformac/sdk/tools

export PATH=$PATH:/Users/yourmacname/adtformac/sdk/platform-tools

export PATH=$PATH:/Users/yourmacname/android-ndk-r9b/

export ANDROID_NDK_ROOT=/Users/yourmacname/android-ndk-r9b/

export ANDROID_SDK_ROOT=/Users/yourmacname/adtformac/sdk

export NDK_ROOT=/Users/yourmacname/android-ndk-r9b/

复制进去

按esc,再命令输入命令:

:wq

3,创建一个新工程

终端打开路径 /Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/tools/project-creator

用命令创建工程:

 ./create_project.py -project projectname -package com.xxx.xxxx -language cpp

替换自己的包名和工程名,回车如图示就算建立成功了

你现在可以通过xcode打开你新建的项目工程了,工程目录在:

/Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/projects/mytest

双击文件夹proj.ios/mytest.xcodeproj就可以打开工程,直接run就可以跑起来;

ios端配置就完成了,很简单;

另外推荐大家一个小工具go2shell(路径命令终端快捷的工具拖到Finder工具栏上面,一键就可以定位打开这个路径的终端),这玩意儿图标也很萌...

4,配置android eclipse的环境

打开eclipse,-> import目录 /Users/yangshengjie/cocos2dx.2.2/cocos2d-x-2.2/cocos2dx/platform/android/java

加载libcocos2d工程,因为新工程需要把他作为lib引用

(1),adt->设置->General->Workspace->Link Resources->new  对话框里面name填COCOS2DX,路径选择:/Users/yourmacname/cocos2dx.2.2/cocos2d-x-2.2

如下图:

ok

(2),adt->设置->Android->SDK location  选择你的sdk路径/Users/yourmacname/adtformac/sdk

如下图:

默认的sdk自带了一个4.4的rom, APIlevel = 19

ok

(3),adt->设置->Android->C/C++ ->Build->Environment   Add 一个ndk路径/Users/yourmacname/android-ndk-r9b

ok

(4),import刚才新建的工程/Users/yourmacname/cocos2dx.2.2/cocos2d-x-2.2/projects/mytest/proj.android

ok,如果上面的步凑没什么问题,导入应该不会报错:

ok,到这步没有报错的话,应该可以直接跑起来了,可以插上android真机调试以下看看如何;

点击run->你的工程项目在eclipse Consle里面可以看到如下图:

我们已经成功通过ndk编译出.so文件,真机上就没问题了;

5,编写代码,进行跨平台交叉编译

以上我们已经成功完成了工程的创建以及ios,android平台都可以跑起来新建的项目了,事情还没完,我们新写了c++代码,怎么交叉编译呢?换句话说我们在win32,xcode,eclipse任何一个开发平台写了代码怎么同步到其他平台呢?

例:我在xcode写代码再同步到eclipse上去

我打开了我之前xcode创建的工程,里面编写了一个BaseSoundControl.cpp文件,显然这个类是用来控制声音的,具体代码:

#include "BaseSoundControl.h"
#include "SimpleAudioEngine.h" BaseSoundControl::BaseSoundControl(CCString* videourl,bool repetflag)
{ CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(videourl->getCString()); CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(videourl->getCString(), repetflag); }

用到了CocosDenshion,win32下面如果用到声音需要手动起添加,andriod新创建的工程也要去手动添加;

xcode ios 跑起来效果如下:

先把写的代码copy到对应工程里面,复制的时候注意对应目录关系如下图,Classes和Resources对应里面的所有东西(c++代码和图片,和音频文件)都copy过来;

然后F5刷新我们的android工程,就会看到mytest项目中classes文件夹同步上了我们写的c++代码;

先别着急直接run,会报错,因为在android建工程没有cocos2d-x里面专处理声音跨平台的CocosDenshion库,手动添加它;

工程名->右键->new->folder

Advanced ->link to~~~ ->Varivbels ->选择cocos2dx ->Extend->选择 CocosDendhion ok!如下图:

最后filsh就有了这个库了;

还没完事儿,点run还是会报错,还有最重要的一步,编写.mk文件!!!!

eclipse中直接在jni中打开Android.mk文件,做如下修改,以后写了一个cpp就的在这里配置一个;

ok,所有工作完成了,可以点run了!!

再次生成.so成功,标志着跨平台编译跑起来了!

【cocos2d-x 环境配置-Mac配置篇】的更多相关文章

  1. 【Cocos2d-Js基础教学(1)JS -Mac配置篇】

    一.准备工作 Windows配置篇请见 http://cn.cocos2d-x.org/tutorial/show?id=1396 1.安装python 2.下载Android SDK Android ...

  2. Mac 配置教程-开发篇

    将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 图床 iPic 设置快捷键 Command+Shift+u ...

  3. Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例

    看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...

  4. mac配置java开发环境: jdk1.7 +sdk1.7+maven +tomcat

    1.先安装jdk ,才能安装sdk .2 mac中jdk1.7的默认位置:/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home ...

  5. mac 配置Python集成开发环境(Eclipse +Python+Pydev)

    1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...

  6. mac 配置Python集成开发环境

    mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...

  7. Node.js安装及环境配置之Windows篇

    Node.js安装及环境配置之Windows篇   一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1. ...

  8. 自学Aruba5.3.2-Aruba安全认证-有PEFNG 许可证环境的认证配置MAC

    点击返回:自学Aruba之路 自学Aruba5.3.2-Aruba安全认证-有PEFNG 许可证环境的认证配置MAC 1. MAC认证配置前言 建议把认证通过前的初始化role定义为denyall,否 ...

  9. Mac配置Java开发环境

    笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...

随机推荐

  1. 20165233 Java第八、十五章学习总结

    20165233 2017-2018-2 <Java程序设计>第六周学习总结 教材学习内容总结 ch08 基础:String类 重点:StringTokenizer类.Scanner类:获 ...

  2. 好记性不如烂笔头--linux学习笔记9练手写个shell脚本

    #!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=http ...

  3. leetcode290

    public class Solution { public bool WordPattern(string pattern, string str) { var list = str.Split(' ...

  4. BDE 升级到FireDAC

    BDE  Query Replace Str in files   by cnpack tools TQueryTFDQuery dmdb->qrypub->Open(sql); fdme ...

  5. mpg123解码相关

    int attribute_align_arg mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmem ...

  6. mysql性能优化-慢查询分析、优化索引和配置【转】

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  7. JSP中内置对象pageContent的使用

    public class TestPageContext { public void getSomething(PageContext page){ ServletRequest request = ...

  8. FP昨天的新单,今天交期回写到2020年

    昨天新单6900000053,回写交期到2020年.在此视图查看此单回写的日期V_OUT_SHIPMENT_PLAN_TESTS,可看到日期是2020年. 1.检查OUT_SHIPMENT_PLAN表 ...

  9. 对一个 复杂的json结果进行取值的例子

    1 JSON结果集 [ { "J_LP_OPERATE_MAIN": { "ID": "1900036295", "FILL_MA ...

  10. Rigidbody中 Angular Drag (角阻力):

    Rigidbody中 Angular Drag  (角阻力):同样指的是空气阻力,只不过是用来阻碍物体旋转的.如果设置成无限的话,物体会立即停止旋转.如果设置成0,物体在上升过程中,会发生侧翻旋转. ...