【cocos2d-x 环境配置-Mac配置篇】
目前我配置的环境需求如下:
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配置篇】的更多相关文章
- 【Cocos2d-Js基础教学(1)JS -Mac配置篇】
一.准备工作 Windows配置篇请见 http://cn.cocos2d-x.org/tutorial/show?id=1396 1.安装python 2.下载Android SDK Android ...
- Mac 配置教程-开发篇
将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 图床 iPic 设置快捷键 Command+Shift+u ...
- Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例
看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...
- 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 ...
- mac 配置Python集成开发环境(Eclipse +Python+Pydev)
1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...
- mac 配置Python集成开发环境
mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...
- Node.js安装及环境配置之Windows篇
Node.js安装及环境配置之Windows篇 一.安装环境 1.本机系统:Windows 10 Pro(64位)2.Node.js:v6.9.2LTS(64位) 二.安装Node.js步骤 1. ...
- 自学Aruba5.3.2-Aruba安全认证-有PEFNG 许可证环境的认证配置MAC
点击返回:自学Aruba之路 自学Aruba5.3.2-Aruba安全认证-有PEFNG 许可证环境的认证配置MAC 1. MAC认证配置前言 建议把认证通过前的初始化role定义为denyall,否 ...
- Mac配置Java开发环境
笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...
随机推荐
- mysql总结(三)
select distinct * from 表名where ...group by ...having ...order by ...limit ... 关系的问题(1)是什么样的对应关系(2)存储 ...
- phpstudy操作sql server相关经验
1.去官网http://www.phpstudy.net/下载并安装phpstudy 2.修改php.ini配置文件如下: mssql.secure_connection = onextension= ...
- Robot Framework——百度搜索
1.创建项目 选择菜单栏file----->new Project 右键点击新建Project,选择new Suite 选项. 右键点击新建测试Suite,选择new Test Case. 完 ...
- How to Integrate JCaptcha in Spring Security
The repository for JCaptcha is this one: <repository> <id>sourceforge-releases</id> ...
- 【转】从Mac/OS和iOS开放源码浅谈UNIX家谱
阅读数:1245 苹果公司在各类开源项目中长期贡献着自己的力量,但其UNIX系统技术一直都属于闭源阵营(这一点可以从NUX OS阵营和家谱图中得到答案).然而,以封闭闻名的苹果公司,2017年国庆期间 ...
- 模板引擎 引自 《PHP核心技术与最佳实践》
随着web的发展,仅一门语言或者一种技术已经不能满足需求,分层架构显得越来越重要.在大型架构中,从来不会简单地应用php从头到尾实现一个完整的mvc架构.可能底层是c/java的支撑,负责密集运算和y ...
- 启动JAR Hadoop任务
[启动JAR Hadoop任务] 一般情况下,我们会使用下面的命令来运行一个hadoop任务: 这个命令实际上是转化成下面的命令来运行的 在RunJar中,会读取abc.jar文件,然后尝试从mani ...
- Python_07-常用函数
1 python常用常用函数 1.1 常用内置函数 1.2 类型转换函数 1.3 和操作系统相关的调用 1.3.1 操作举例 1.4 用os ...
- unity3d 移动与旋转 1
移动与旋转 1 player角色随asdw按键左右上下移动并旋转 public void Update() { // Reset player rotation to look in the same ...
- PHP逻辑运算符中的and和&&以及or和||是有区别的
下图是PHP的逻辑运算符: 看图中and和&&都是“与”,而or和||都是“或”,初开起来没有区别,但实际上这里面有一个优先级别的区别,即: &&和||的优先级别要高于 ...