[原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815
2014-6-8阅读578 评论0
回到开发中,每个部落就是一个系统平台(Android、IOS),Android开发基于java语言但同样支持C++,IOS开发基于Object-C(新推出了swift--推出第二天就有公司30w招3年经验的swift程序员,我想说:“是哪家家公司?你可以招三年后的我”)但它也支持C++,而你我都知道cocos2dx是用C++编写的,那么cocos2dx的跨平台性就是用c++写的代码稍加修改就可以在Android和IOS中编译运行。
win7+vs2012(用着挺爽,以前一直用vs2008,现在直接越过vs2010--它启动超慢)本文章开发环境:vs2012+cocos2d-x-2.2.2+Cywin+NDK+Android开发环境(在我的上一篇文章中介绍了如何搭建Android开发环境--http://blog.csdn.net/longming_xu/article/details/28241045,本文就不介绍了)
学习进度表:
- 下载并安装vs2012(如果已安装就掠过,我在这里也不会介绍他的安装,如果你安装的其他版本也不打紧,毕竟他只是一个辅助开发的IDE而已(但很强大哦),只会在配置上有些不一致而已)
- 下载并安装Visual Assist X(番茄插件--因其图标是一个番茄样子,所以这么称之为番茄插件,这里我也不会介绍如何下载安装破解,自己网上去搜吧,一大堆)
- 下载安装python(python是一门强大的脚本语言,cocos2dx最最前身就是用python写的,这需要去看一下cocos2d的发展史。cocos2dx使用python脚本来创建新项目,后面你会看到它的创建脚本)
- 下载cocos2d-x-2.2.2版本
- 创建一个helloworld程序
- 下载Cygwin安装
- 下载NDK并安装
- 交叉编译项目
- Android开发环境搭建
第一步:下载并安装vs2012:
我之前做端游开发一直用的是vs2008+番茄插件,用着还不错!想当初,刚接触公司项目的时候,好家伙,代码文件多达3000了,想象一下,一个习惯了脚本开发,突然要编译这3000个文件,这是何等工程!!!!每次改一个共用头文件,( ⊙ o ⊙ )!丫的就得用我半个小时还多的时间!!!!不过还好后来接触了IncrediBuild这个联机编译工具,它对c++开发者来说简直就是”神器“。我当时在公司三台机器上安装了联机编译,好家伙!!!只用10分钟左右就搞定了3000多文件。vs系列+番茄插件+IncrediBuild简直是一个c/c++开发的超强组合!说到这就流口水!!....流口水????我怎么会想到这个词???vs2008---vs2010---vs2012我都安装过,个人感觉vs2010有点脆!光打开它就够我受的了,所以没几天就换上vs2012了(它的安装可是真够漫长的了)他们之间使用感受,可以上网上搜一下(也许后期我会写这么一篇文章...),我在这里假设你已经安装了vs2012开发环境了。
第二步:下载并安装Visual Assist X:
Visual Assist X---我们都称之为番茄插件,就是因为他的图标特像番茄(就是一个番茄,对吧)其功能非常强大,能够提示关键字的输入,自动纠错,能够识别系统函数,用户自己定义函数和变量,为软件的开发带来了极大的方面,不仅提高了开发效率,也提高了编程的乐趣 。它是作为一个vs增强插件存在的,它让我们的编程更快捷方便。有很多小功能能够加速你的开发和纠错改错能力。(这里我假设你已经下载安装,当然你也可以选择不下载,他只是一个vs功能增强插件,没有它你一样可以用vs进行开发,只是它确实很“迷人的”,用一用就知道,别忘了破解一下...都是中国人!!)
第三步:下载和安装python:
python是一种面向对象、解释型计算机程序设计语言。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C++重写。我对python用的最多的就是对文件的处理和项目流程控制(打包发布啊),游戏开发中使用python脚本可以解决很多繁琐的工作,为自己项目开发节省很大一部分的时间,谁用谁知道!!!待会你就可以看到,cocos2dx如何用它来创建项目的。下载地址:https://www.python.org/download/releases/2.7.5/(我们下载2.7.5版本,没有为什么,因为我用的就是这个版本,3.0以上版本变动很大,一些用法都变了,好像coco2dx安装脚本不支持3.0以上版本,所以乖乖下载2.7的版本吧----有些时候并不是最新的就是最好的,你懂得)


第四步:下载cocos2dx 2.2.2版本

第五步:创建一个Helloworld程序:





@echo off
set /p projectName=请输入项目名称:
if "%projectName%"=="" goto inputError1
set /p packageName=请输入包标示名:
if "%packageName%"=="" goto inputError2
set /p language=请输入语言:
if "%language%"=="" goto inputError3
create_project.py -project %projectName% -package %packageName% -language %language%
pause
exit
:inputError1
@echo 项目名称不能为空!
:inputError2
@echo 包标示名不能为空!
:inputError3
@echo 选择语言不能为空!
pause







这里插入一点小介绍:
第六步:下载Cygwin安装

注意:安装组件过程中,必须安装的GUN MAKE组件,需要用来编译c/c++文件。对linux不熟悉的话直接全部安装Devel目录下的所有组件即可。也可以下载平台的组件包到本地,从本地安装,具体看你选择哪种方式了。安装完成,打开
会出现一个linux shell的命令行窗口,测试GNU MAKE版本:make -v ,窗口显示gnu make 版本号即表示安装成功,然后你就可以模拟linux操作了。
那么为什么要安装它呢?这就与下面我们安装的NDK(Native Development Kit 本地开发工具包)有关系了!!由于NDK(注意:NDK r7版本和之后版本自带了一个编译器,就不需要Cygwin了)编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。



第八步:交叉编译项目

小知识:bash中export命令----将一个bash局部变量变成一个bash全局变量






第九步:Android开发环境搭建









[原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)的更多相关文章
- Cocos2d-x项目编译为Android应用——命令行方式
配置: 相关工具:Cocos2d-x 3.2 + Ant 1.9.4 + Android NDK r9d + Android SDK 运行平台:OS X 10.9.4+ Xcode 6 前言:笔者使用 ...
- 编译在android 平台上跑的C应用程序
Android 用的是 Bionic C, 而不是通常的glibc,因此简单使用交叉工具链并不能够编译出适合运行在android 设备上的 C/C++ 程序. 交叉工具链可以很轻松在 Android ...
- 详解Google Chrome浏览器(操作篇)(上)
开篇概述 在上篇博客中详解Google Chrome浏览器(理论篇)一文中,主要讲解了Chrome 搜索引擎使用.Chrome安装和基本操作.Chrome 基本架构.多线程等原理性问题,这篇将重点讲解 ...
- 《React Native 精解与实战》书籍连载「Android 平台与 React Native 混合开发」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- Mac系统下编译支持Android平台的最新X264编码器
Mac系统下编译支持Android平台的最新X264编码器 原文来自 http://www.mingjianhua.com,转载请注明出处 1.首先去官网下载最新的x264源代码,解压到任意目录 ht ...
- 前端搭建Linux云服务器,Nginx配置详解及部署自己项目到服务器上
目录 搭建Linux云服务器 购买与基本配置 链接linux服务器 目录结构 基本命令 软件安装 Linux 系统启动 启动过程 运行级别 Nginx详解 1.安装 方式一:yum安装 方式二:自定义 ...
- (转) shiro权限框架详解06-shiro与web项目整合(上)
http://blog.csdn.net/facekbook/article/details/54947730 shiro和web项目整合,实现类似真实项目的应用 本文中使用的项目架构是springM ...
- 一篇看懂JVM底层详解,利用class反编译文件了解文件执行流程
JVM之内存结构详解 JVM内存结构 java虚拟机在执行程序的过程中会将内存划分为不同的区域,具体如图1-1所示. 五个区域 JVM分为五个区域:堆.虚拟机栈.本地方法栈.方法区(元空间).程序计数 ...
- logback的使用和logback.xml详解,在Spring项目中使用log打印日志
logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分 ...
随机推荐
- java list基本用法
List<E>([]内的内容可省略),与数组类似: 实例化:List[<数据类型>] list = new ArrayList[<数据类型>](); 获得集合内元素 ...
- JAVA语言规范和API网址
Java语言规范: http://docs.oracle.com/javase/specs/ Java API: http://docs.oracle.com/javase/8/docs/api/in ...
- poj 3185 The Water Bowls 高斯消元枚举变元
题目链接 给一行0 1 的数, 翻转一个就会使他以及它左右两边的都变, 求最少多少次可以变成全0. 模板题. #include <iostream> #include <vector ...
- codeforcese 498C. Array and Operations 网络流
题目链接 给n个数, m个数对, 每个数对是两个下标加起来为奇数的两个数.每次操作可以使一个数对中的两个数同时除某个数, 除的这个数是这两个数的任意约数, 问这种操作最多可以做几次.n<100, ...
- PHP-语法(www.w3school.com.cn/php)
写在前面: 假设系统里已安装PHP软件 PHP是一种脚本语言,执行PHP脚本后向浏览器返回纯HTML语言(即后台将.php文件的执行结果以纯HTML的形式返回到前端) ---------------- ...
- 帝国cms后台 不同栏目发布字段不同
在同一数据表下的两个栏目,由于功能不同,也需要建立不同的字段,问题是建立完不同字段后,其数据表下的两个栏目都有发布字段.这里教大家,不同栏目下发布内容,不同字段.修改数据模型中 录入表单模板 代码.底 ...
- 利用反馈字段给帝国cms添加留言板功能(图文教程)
帝国cms的插件中提供信息反馈字段,很多人却不会用.这里谢寒教大家如何来给自己的帝国cms网站添加留言板功能 1.找到添加地址 2.添加字段 3.你可以在字段中添加多种字段类型(有文本域,单行文本框, ...
- 转:说说angularjs中的$parse和$eval
说说AngularJS中的$parse和$eval AngularJS的初学者常常会对$parse和$eval两个内建服务感到有些困惑,今天我们就来说说AngularJS中的$parse和$eval. ...
- 定时每天备份mysql
http://blog.csdn.net/panning_hu/article/details/9210001 Spring MVC Spring中MVC框架的底层实现 http://blog.csd ...
- 查看LINUX系统版本和硬件信息
查看发行版本 # cat /etc/issue Red Hat Enterprise Linux Server release 6.2 (Santiago) 查看内核 # uname -a Linux ...