原文地址:http://blog.csdn.net/sttyytw/article/details/17005263

声明:本教程在參考了下面博文,并经过自己的摸索后实际操作得出,本教程系本人原创,因为升级后的cocos2d-x有了一些变化,眼下的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交叉编译环境组建的说明,所以我这几天研究了一下,如今将详细的搭建方法分享出来,也给自己学习Cocos2d-x做个笔记。

參考博文:

http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html
http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html
http://www.douban.com/note/229610750/
http://www.cnblogs.com/dekins/archive/2012/08/22/2650131.html

本文地址:

http://blog.csdn.net/sttyytw/article/details/17005263

假设转载,请注明出处!

本文搭建好开发环境

系统:win7 64位 旗舰版 原版
软件:仅仅装了系统的半裸机

大家仅仅要依照步骤耐心操作,环境的搭建就不会产生一些莫名其妙的错误

预备下载的软件(为了方便,软件安装包请放在一个目录下)

请大家先行下载,但不要安装,一步一步的来

1、cocos2d-x2.2.1  2013年11月19日更新


cocos2d-x游戏引擎开发环境,大家都懂的

下载地址:(这个不用说了吧,搭建cocos2d-x的平台会不知道哪里下代码?好吧,还是贴上)

http://www.cocos2d-x.org/download

2、VisualStudio 2012


cocos2d-x须要的IDE编译环境,网上随便下,这里提供一个下载地址

下载地址:http://pan.baidu.com/share/link?shareid=90168&uk=2769186556

密钥:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC

3、python


cocos2d-x2.0版本号以后用python脚本来创建project,所以须要python环境

下载地址:http://www.python.org/download/


注意:请下载python2.7.6  64位版本号,不要下3.3的版本号

以上是组建cocos2d-x编译环境所须要的软件,接下来是android交叉编译所须要的软件


4、java


java环境是必须的,这个在官网上下载就可以,注意要选择64位版本号

下载地址:http://www.java.com/zh_CN/download/manual.jsp


5、Android SDK


这个是android交叉编译必须的IDE环境,内含Eclipse

下载地址:http://developer.android.com/sdk/index.html


6、Android NDK


android交叉编译时,对C/C++代码的解释编译工具

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


7、cygwin


对cocos2d-x本地C/C++代码的解释编译工具

下载地址:http://cygwin.com/install.html


8、EditPlus

这是个文本编辑软件,方便我们对之后的sh文件进行编辑

下载地址:http://www.pc6.com/softview/SoftView_36775.html

注意:sh等linux文件在用windows记事本打开时,输入的回车格式与linux回车格式不同,会造成错误。

这个软件是推荐大家使用的,大家能够自行选择

至此我们所须要的软件都已经准备完成,接下来能够開始正式搭建好开发环境了

———————————————————————————————————

1、安装VisualStudio2012

对VS2012_ULT_chs.iso文件进行解压,安装,对安装程序一路狂点。。。。。

像这样的编程环境最好装在系统盘内,免得之后出各种莫名其妙的错误。等了一段时间,最终安装完成。

2、用VisualStudio组建cocos2d-x的Windows编译环境

将下载好的cocos2d-x-2.2.1放在英文路径下,注意,英文路径不要有空格

比如:我的文件夹配置D:\study\cocos2d-x\cocos2d-x-2.2.1

在cocos2d-x-2.2.1文件夹下找到Visual Studio2012的sln文件,打开

等待Visual Studio载入解决方式
在解决方式上点右键,然后点生成解决方式,或者按F7,等待vs编译生成本地obj
第一次编译会比較慢,耐心等待一下

等了将近10分钟,最终编译好了,我们来尝尝鲜,试着执行HelloCpp,看到那个熟悉的HelloWorld界面

在HelloCpp项目上面点击右键,然后选择调试->启动新实例

接着程序開始自己主动编译了,运气好的话应该能够看到牛X的HelloWorld的界面了

在这里我遇到了一个小问题,因为是新系统,还没有安装显卡驱动,所以编译时提示OpenGL的版本号太低,这时候仅仅须要用驱动精灵或是类似的驱动软件更新一下自己的显卡驱动就没有问题了。

3、创建自己的HelloWorldproject

接下来就要创建自己的Cocos2d-x HelloWorld项目,这是全部游戏编写的开端。好的,这时我们就要用到python环境了。安装我们已经下载好的python-2.7.6.amd64,选择默认路径。

安装完成,我们接下来使用python命令创建自己的cocos2d-xproject。

首先须要设置python的系统环境,因为刚才是默认安装,所以python的安装路径为C:\Python27\,大家能够手动在開始->计算机(在上面点右键)->属性->高级系统设置->环境变量中设置path路径,加入�python的安装文件夹,只是我个人比較喜欢用cmd的wmic命令改变环境变量。(顺便提一句,大家能够用一个批处理将本文全部涉及环境变量的设置都用wmic命令写入。)

好了,win+R执行cmd,输入下列命令

wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Python27"

注意以上命名为一行

然后又一次打开cmd,输入python,结果发现python不是内部命令,再输入命令:

echo %path%

发现没有刚才我们设置的python文件夹,怎么回事?事实上这里是环境变量没有更新的缘故,大家再设置完后,还是要进入開始->计算机(在上面点右键)->属性->高级系统设置->环境变量,然后什么都不用改,直接点确定,再回来cmd查看path文件夹,这才发现已经出现我们设定的python文件夹了。有的童鞋肯定会问,既然还是要进入设置环境变量界面,我干嘛不直接在里面设置不即可了吗,还要这么麻烦干什么?这样最为直接。

可是我是不喜欢path那一长条的输入框,拖过来拖过去的,并且分号什么的路径写入easy出错,所以建议大家还是多採取命令的形式比較好一点。

好了,赶紧试一下我们的配置是否正确吧。输入命令:

python -?

然后balabala...出现一堆,这就说明我们的python配置好了。

接下来使用python创建工程。进入cocos2d-x-2.2.1文件夹下的tools->project-creator,大家能够看到有一个create_project.py脚本,假设有兴趣的童鞋能够右键在IDE中打开来看看,从中能够截取到该脚本的用法

好了,我们赶快将这个脚本使用起来吧

在project-creator文件夹下按住shift+鼠标右键,选择在此处打开命令窗体,输入命令:

python create_project.py -project HelloWorld -package org.HelloWorld.game -language cpp

然后等待结果

大家能够看到,我们的project创建完成了,当中,HelloWorld是我们命令中输入的project名,也就是在cocos2d-x-2.2.1->Projects目录下创建了我们的project,名字就是HelloWorld,在HelloWorld目录下的proj.android目录就是我们之后须要编译的android项目,创建命令后面的org.HelloWorld.game是安卓APK的识别名,大家能够依照“xxx.xxx.xxx”的格式自己命名。

这里我写了一个bat批处理,大家能够放在project-creator文件夹下,以后能够非常方便的创建工程

在project-creator文件夹下点右键创建一个文本文档,打开,将下面内容复制进去,然后点保存,更改文件的后缀名为bat就可以

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

@echo off
:label1
@cls
echo 欢迎使用Python创建Cocos2d-xproject
set /p project=请输入须要创建的工程名:
set /p aID=请输入须要创建的android版本号包标识名:
echo 您输入的工程名为%project%
echo 您输入的android版本号包标识名为%aID%
echo 确认创建project吗?
CHOICE /C 123 /M "确认请按 1,取消请按 2,或者退出请按 3。"
echo %errorlevel%
if %errorlevel%==1 goto label2
if %errorlevel%==2 goto label1
if %errorlevel%==3 goto label3
:label2
echo 正在创建project...
python create_project.py -project %project% -package %aID% -language cpp
:label3
pause

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

注意仅仅需复制以上紫色部分。

回到Visual Studio2012,在解决方式上点击右键,点加入�->现有项目

然后在这个文件夹(cocos2d-x-2.2.1\projects\HelloWorld\proj.win32)下找到HelloWorld.vcxproj

点击打开

能够看到我们的HeloWorld已经加入�进我们的project中了。好了,还等什么,编译一下吧。这里提一句,我们能够将HelloWorld设置为启动项目,这样每次调试的时候就能够方便的点击“本地Windows调试器”进行调试,而不是每次都得启动新实例。在HelloWorld上点右键,能够找到“设为启动项目”这一栏。

设置完毕后我们会发现我们的HelloWorld加粗了,好了,执行一下试试
点本地Windows调试器,弹出窗体,选择不再显示此对话框,然后点是

等待编译,然后就会输出HelloWorld窗体了,这次是“小瓶”的,呵呵!

好了,以上我们已经将自己的project创建好了!

接下来要来配置cocos2d-x在win7下的android交叉编译环境

4、安装java,设置java环境


android环境的搭建少不了java这玩意,选择默认路径安装好后便能够用wmic命令向系统加入�java的环境变量了,win+R执行cmd,输入下面三个命令

wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="C:\Program Files\Java\jre7"

以上为一行
wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=";%JAVA_HOME%\lib\;"

以上为一行
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Program Files\Java\jre7\bin"

以上为一行

然后进入系统设置环境变量界面更新一下,重新启动cmd,试一下输入java,仅仅要不是出现“java不是内部命令或外部命令”之类的,就表示你设置成功了。

5、安装cygwin与配置Android NDK

执行下载好的cygwin-setup-x86_64.exe,看到下列安装界面

点击下一步

继续

默认路径安装,然后选择下载保存的路径,这个大家能够自己配置,安装完成后最好做个备份,免得再次须要安装时还要下载,国内的网速下载还是比較蛋疼的~~~~~

默认选择,下一步

选择第一个站点

这里大家注意了,一定要将红框标出来的点击一下,变成install

点击下一步,漫长的等待下载~~~~~~

最终安装完成,我们赶紧打开来试试吧

第一次点开cygwin文件夹会在c:\cygwin64\home文件下生成以系统登录账户为名字的文件夹

然后在我们下载的软件里找到Editplus软件,默认安装后就能够将不论什么文本文件以Editplus软件打开

如今,将我们下载下来的Android NDK也就是android-ndk-r9b-windows-x86_64.zip解压缩至英文路径下,这个路径将会在接下来写入到cygwin的.bash_profile配置文件里,好了,我的解压路径为:D:\study\android\IDE\
注意:该路径不能存在空格,全英文

大家在c:\cygwin64\home文件下生成的以系统登录账户为名字的目录下找到.bash_profile文件,点击右键,用EditPlus软件打开,在结尾处输入回车,接着输入下列语句:

NDK_ROOT=/cygdrive/d/study/android/IDE/android-ndk-r9b

export NDK_ROOT

以上为两行

然后点击保存,关闭。这里的cygwin是指本地磁盘,d是d盘,后面是NDK路径,大家依照自己的文件路径填写,注意windows路径中“\”和cygwin中“/”的差别。顺便提一句,文件夹一直要写到有ndk-build.cmd文件的文件夹。

接着用EditPlus打开C:\cygwin64\etc目录下的bash.bashrc文件,在结尾处输入回车,输入自己的cocos2d-xproject的目录路径(还记得我们之前创建的HelloWorldproject吗?),注意,这一步不是必要的,完毕的功能是在每次打开cygwin的时候不用去输入完整路径跳转至你的project目录下。好了,我的路径配置为:

cd d:/study/cocos2d-x/cocos2d-x-2.2.1/projects/HelloWorld/proj.android

以上为一行

大家能够依据自己的路径改变,以后新建project时也要记得改变自己的编译路径。还是要提醒大家注意windows路径中“\”和cygwin中“/”的差别。

重新启动cygwin,大家能够发现当前路径已经变成了我们设置的路径了

好了,输入ls命令,会发现一个build_native.sh的文件,这就是我们须要用NDK编译的文件了

接着输入下面命令:
./build_native.sh

以上为一行

假设顺利的话(细致依照步骤来的话是没有什么问题的),就能够看到我们的NDK開始辛勤的编译cocos2d-x的一些本地C++代码了~~~~~又是漫长的等待。

编译完毕后就能够退出cygwin了

这是完毕后的最后界面的截图,假设你能看到这个界面的话就代表本步骤顺利完毕。

6、安装Android SDK,配置Android的Eclipse编译环境

找到我们下载的adt-bundle-windows-x86_64-20131030.zip,解压,路径大家能够自己配置,还是注意英文路径,不加空格就可以。

接着执行adt-bundle-windows-x86_64-20131030\eclipse下的eclipse(ADT自带Eclipse编译环境),选择project目录,这里能够任意配置

接着关掉说明页,进入主界面。在主界面点击配置SDK

然后大家能够依照需求选择Android SDK的版本号,这里我选择下载Android(API 8),然后选择安装

慢慢等待下载安装结束。

接下来配置Android VDM

然后选择DeviceDefinitions,随便选择一个创建,好像是如今的VDM不支持OpenGL的高版本号,所以我使会用BlueStacks模拟器来调试,这里仅仅是生成apk

7、编译Android项目

好了,以上我们全部的环境都已搭建完毕,在将我们的项目导入eclipse之前,我们还须要将cocos2d-x-2.2.1\cocos2dx\platform\android\java\src下的org目录拷贝至我们的项目中,也就是cocos2d-x-2.2.1\projects\HelloWorld\proj.android\src下,因为我们之前创建项目时定的android包名前面也是org,所以会有覆盖选项,大家请选择合并覆盖就可以

(那是不是每次编译安卓项目是都要复制这个包过来呢?事实上是不用的,这个放在文章的末尾来讨论)

接着,回到eclipse环境,导入项目

注意在选择路径时写到HelloWorld目录下就可以

导入project后,在projectHelloWorld上点选右键,选择Properties

选择builders,点击New

选择program

然后在接下来的界面中的

name栏输入:Native_Builder

Location栏输入:C:\cygwin64\bin\bash.exe

Arguments栏输入:--login -c "cd /cygdrive/d/study/android/IDE/android-ndk-r9b && make APP=HelloWorld"

以上为一行

Arguments栏中,login前有两个"-"符号,中间的文件夹设置參考前面教程中对NDK_ROOT的路径设定,后面的HelloWorld为创建的project名,这个依据自己创建的project名设定。

(提示:假设不是依照默认路径安装的,请选择Browse File System,找到相关的路径)

选择OK,选中Native_Builder,并将其调到最上面

然后选择C/C++ Build->Environment->Add

接下来在Name栏输入path,在Value栏输入C:\cygwin64\bin

然后在Java Build Path里面选择Libraries栏,将Android Dependencies以及Android Private Libraries两个library删掉

(说明一下,以上我们是将cygwin的编译环境合并到了Eclipse里,Eclipse利用cygwin并调用cygwin的bash以及make,通过NDK来编译我们的Android程序,所以每次导入新的project都要将上述步骤又一次配置一下,这点非常重要,假设配置不对,会导致非常多莫名其妙的报错,最典型的错误就是提示找不到bash命令什么的~~~~)

好了,如今我们能够生成APK文件了,在主界面选中自己的project,然后在命令条上选择Run->Run as->Android Application

假设以上步骤都依照教程设定的话,就行生成APK了,APK存放在proj.android->bin目录下

快将APK装在自己的真机上进行測试吧!!!!!

以上编译环境就配置结束了。

——————————————————————————————————

深入讨论问题:每次在编译Android项目之前是不是都要将cocos2d-x-2.2.1\cocos2dx\platform\android\java\src下的org目录拷贝至我们的项目中呢?

事实上不然,大家能够发现,每次我们运行./build_native.sh时,proj.android目录中的Resource里面的内容都会拷贝到assets目录中,所以我们能够略微改动一下sh文件就能够免去每次创建项目的时候都要拷贝一遍本地编译库的操作

方法:

1、在C:\cygwin64\home\“自己的username”\目录下找到.bash_profile

2、用EditPlus打开编辑

3、在文件末尾输入回车,添�下面路径设定

COCOS2DX_DIR=/cygdrive/d/study/cocos2d-x/cocos2d-x-2.2.1

export COCOS2DX_DIR

以上为两行

然后在\cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android文件夹下找到原生的build_native.sh,我们用EditPlus打开对它进行改动

在36行找到这句话,这句话是对NDK_ROOT的路径进行推断

我们在后面添�一样的语句,仅仅是将NDK_ROOT替换为我们设定的文件夹,也就是COCOS2DX_DIR

然后再继续向后翻,在50行这里添�

echo "COCOS2DX_DIR = $COCOS2DX_DIR"

接着在后面我们发现了这种语句

嘿嘿!!!!大家看出来了吧,这句话就相当于拷贝文件了,好了,我们依葫芦画瓢吧~~~~

也就是在后面加上例如以下语句:

for file in "$COCOS2DX_DIR"/cocos2dx/platform/android/java/src/*
do
if [ -d "$file" ]; then
    cp -rf "$file" "$APP_ANDROID_ROOT"/src
fi

if [ -f "$file" ]; then
    cp "$file" "$APP_ANDROID_ROOT"/src
fi
done

OK,文件改动完成,大家记得保存哦!

这样改动了之后,在大家又一次创建project时,cocos2d-x的python脚本就会将template\multi-platform-cpp目录下的内容稍加改动(主要是项目名称的改动)后直接拷贝到我们的project里,这样我们改动后的文件就能够使用了,哈哈!

———————————————————————————————————

教程到此就结束了,假设大家对本教程有不论什么问题,或者有什么错误之处,敬请大家指出!也欢迎大家对Cocos2d-x环境的搭建提出好的建议。

转载于:https://www.cnblogs.com/yxwkf/p/3871987.html

Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)相关推荐

  1. WIN7 64位系统搭建WINCE6.0系统遇到的问题

    WIN7 64位系统搭建WINCE6.0系统遇到的问题 安装顺序如下: 1.先装Visual Studio2005: 2.安装Visual Studio2005 Service Pack 1: 3.安 ...

  2. PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验

    PL/SQL Developer 在windows7 64位系统下连Oaracle11g64位系统的解决经验 一.问题现象及解决方法 现象: 1.PL/SQL 无法登录64位数据库 2.在PL/SQL ...

  3. 关于Windows7 64位系统下regsvr32执行报错的解决方案

    转载自:http://www.jb51.net/os/windows/182610.html 感谢分享. 问:我使用的win7 64位旗舰版系统,最近在运行regsvr32.exe的时候会提示&quo ...

  4. Windows7 64位系统PL2303驱动无法安装问题解决

    问题描述:电脑安装的是Win764位的旗舰版,USB to RS232这种线很简单,对于笔记本如果要用串口,就不能少了它了.USB toRS232转换芯片种类繁多,常见的有ch340,0108,PL2 ...

  5. 关于Windows 7 64位系统 HP M1319f 打印机无法扫描的解决办法

    此办法主要针对Windows7 64位系统的用户,对于Xp系统或者Windows8系统没有验证. 笔者在将电脑重装成win7 64位系统后在安装hp打印机驱动的时候打印机自带的驱动盘提示不支持64位系 ...

  6. 把ePO4.5或者4.6从32位迁移到64位系统

    环境总结: 客户现在的环境是ePO4.5安装在32位的WS2003R2上,想实现的效果是迁移到ePO4.6并且运行在WS2008R2上(只有64位系统). 使用声明: 1.期望目标读者是网络管理员和e ...

  7. win10商店打不开_win10 64位系统打不开美图秀秀是啥原因呢

    有win10用户刚升级到win10 64位系统.于是在里面装了各种需要的软件,因为工作需要经处理一些图片,所以安装的最新的美图秀秀2019,但是发现在新装的win10 64位系统里打不开美图秀秀,这是 ...

  8. java1.8是jav多少_win10 64位系统中安装多个jdk版本(通过修改JAVA_HOME对应的%JAV

    win10 64位系统中安装多个jdk版本(通过修改JAVA_HOME对应的%JAV win10 64位系统中安装多个jdk版本(通过修改JAVA_HOME对应的%JAVA_HOME?% 来超简单修改 ...

  9. 树莓派64位系统_树莓派4b+Ubuntu server+Nextcloud搭建私人云盘(1):准备系统

    最近剁手买了一个4G版本的树莓派4b,并配了64g tf卡.我打算用它来搭建一个自己的私人服务器. 需求:树莓派4b+一部本地电脑+网线+路由器+一部有公网ip的云主机 首先,我们先到官方下载Ubun ...

  10. (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功

    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...

最新文章

  1. 如何查找Authorization object在哪些ABAP代码里使用到
  2. 3.4.1 单表查询
  3. node python 速度_为什么python在递归上比node.js慢得多
  4. 互联网金融2.0 这是最好的时代
  5. 【有内鬼,终止交易】风靡朋友圈的壁纸,实现代码竟如此简单 | 原力计划
  6. Sublime Text 3 汉化小技巧
  7. Bailian4115 鸣人和佐助【BFS】
  8. zookeeper 与dubbo管理平台Window 安装与使用
  9. 数学原理(The Principles of Mathmatics)
  10. 华为和中兴的一点对比
  11. 互联网创业的三年都学到了什么?
  12. 小程序跳转页面弹出公众号引导用户关注
  13. 三种Lp范数距离定义
  14. 中国人寿旗下多地国寿金融中心吸引新机构入驻
  15. 红灯还是绿灯?脱欧协议迎表决,英站上分叉路口
  16. vue中将UTC时间转换为标准格式时间--十分好用
  17. 【2018】—不忘初心,砥砺前行
  18. css外层DIV半透明内层div不透明-弹出层效果的实现
  19. 远程控制 远程监控软件屏幕实用技巧
  20. 最小表示串 学习【最小表示串 学习(粗)】

热门文章

  1. 推荐一个 Java 实体映射工具 MapStruct 1
  2. GDAL根据Shape文件切图(java)
  3. windows上java调用gdal.jar报错
  4. 28. 字符串的排列(C++版本)
  5. 微服务学习之Eureka注册中心集群环境构建【Hoxton.SR1版】
  6. 堆排序(java实现)
  7. pandas创建series三种方法
  8. cad2014打开文件崩溃_CAD加载自定义文件失败的拯救
  9. (每日一题 day 002 - 模拟) 166. 分数到小数
  10. (day 19 - 动态规划)剑指 Offer 42. 连续子数组的最大和