win32和android 的cocos2dx环境搭建详细教程

Posted Potter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win32和android 的cocos2dx环境搭建详细教程相关的知识,希望对你有一定的参考价值。

转载。。。。  请注明出处:http://blog.csdn.net/aa4790139/article/details/8086635

详细搭建步骤如下:

1、android 开发环境搭建

Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。

1、下载 JDK

2、下载 Eclipse

3、下载 Android SDK

4、启动Eclipse , 安装 ADT

2、下载安装Android NDK

我使用的NDK版本为r5

Google 出的最新NDK 为 r7 下载地址为

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

3、下载安装cygwin

     由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。

(安装的时候忘记截图了)

首先,你得先跑到http://www.cygwin.com下载setup.exe

1、 然后双击运行吧,运行后你将看到安装向导界面:

2、  点击下一步

     此时让你选择安装方式:

           1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。

           2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。

           3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

3、选择第一项,然后点击下一步:

4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:

5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:

6、此时你共有三种连接方式选择:

     1) Direct Connection:直接连接。

     2) Use IE5 Settings:使用IE的连接参数设置进行连接。

     3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。

          用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,

7、 这是选择要下载的站点,我用的是http://mirrors.kernel.org,速度感觉还挺快,选择后点下一步

8、 此时会下载加载安装包列表

9、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包

10、  然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。

11、  下面测试一下cygwin是不是已经安装好了。

      运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。

      然后依次输入gcc –v,g++ -v,make –v,gdb –v进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

4、配置NDK环境变量

为了不让大家步入我的后尘,在这里得

注意:最好不要用记事本打开.bash_profile文件,用UltraEdit打开时会有个提示“你想转换C:\\cygwin\\home\\Administrator\\.bash_profile为DOS格式吗?”呵呵!!这里千万不要点是,否则编码格式就被你改了,用cygwin运行NDK的时候就显示如下错误了:

“-bash: $'\\r': command not found
-bash: $'\\r': command not found
-bash: $'\\r': command not found
-bash: /home/lenovo/.bash_profile: line 47: syntax error: unexpected end of file
”如果真要是这样了,解决办法:cygwin下etc\\skel和etc\\defaolts\\etc\\skel中有这个文件,重新copy此文件出来一份,然后将你改坏了的那个.bash_profile内容copy覆盖这个文件的内容,然后在此文件Copy到C:\\cygwin\\home\\Administrator下,然后再运行就可以了。

1、  首先找到cygwin的安装目录,找到一个home\\<你的用户名>\\.bash_profile文件,我的是:E:\\cygwin\\home\\Administrator\\.bash_profile,(注意:我安装的时候我的home文件夹下面神马都没有,解决 的办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:\\cygwin\\home文件夹下建立名为Administrator的文件夹(是用户名),然后把E:\\cygwin\\etc\\skel\\.bash_profile拷贝到该文件夹下)。

2、  打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录> 例如:NDK=/cygdrive/e/android-ndk-r5

export NDK

NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存

3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。

5、用NDK来编译程序 

1、  现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\\android-ndk-r7\\samples\\hello-jni(根据你具体的安装位置而定),

2、 运行cygwin,输入命令cd /cygdrive/e/android-ndk-r7/samples/hello-jni,进入到E:\\android-ndk-r7\\samples\\hello-jni目录。

3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)

4、  此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

特别说明:

cocos2d-2.0.3:运行create-android-project.bat,然后用cygwin编译后,cocos2dx-2.0创建的helloworld不生成org.cocos2dx.lib,估计新版本又有改动(解决办法:cocos2d-2.0-x-2.0.4\\cocos2dx\\platform\\android\\java\\src去copy)

cocos2d-2.0.2:运行ok,产生了lib包,但是没有自带win32的HelloWorld,由于之初不会创建win32的HelloWorld

cocos2d-2.0.1:利用create-android-project.bat,然后用cygwin编译后,导入eclipse中ok,win32创建的HelloWorld也ok,推荐大家使用2.0.1的这个版本,会减少很多麻烦。

 

     6、下载cocos2d-x-2.0.1解压

我先说第一种:创建android版的cocos2dx的HelloWorld

1、用代码阅读工具打开create-android-project.bat(千万不用将它设置成默认程序打开,不然你就打不开了,倒是后就需要修改去注册表中修改,默认启动方式了。我是用UtralEdit打开的,用它打开的时候,千万不要转换其格式了噢)

2、设置环境变量路径:

set _CYGBIN=C:\\cygwin\\bin(这是我的路径,请设置成自己对应的安装路径)

set _ANDROIDTOOLS=C:\\Users\\Potter\\Documents\\work\\Android\\android-sdk-windows\\tools(同理)

set _NDKROOT=C:\\Users\\Potter\\Documents\\work\\Android\\android-ndk-r8(同理)

记得保存,设置好这3个环境变量就ok了.

3、重新打开create-android-project.bat,(注意:如果是win7,请以管理员的身份运行,否则又会出现问题)下图所示:

输入包名,然后再输入工程名,

输入android版本id:注意的选2.2以上的版本才支持GLES2.0,不然导入eclipse会提示不支持GLES2.0的,那就是没有选2.2以上的原因,不过此时自己改成2.2的包就可以了

4、用cygwin编译我们产生的工程

如下图所示:

然后回车,显示如下结果:

由于我之前就已经编译过产生so了,所以会这样,如果是第一次编译会产生很多信息的,不过最后的信息和我这一样,这是你创建的工程HelloWorld就成功了。

补充:

问题:库生成的时候没有权限造成so生成失败(win7可能出现此问题)

如下图:

解决办法:运行cmd 将其路径定位到你的工程库目录下(如:D:\\work\\cocos2d-x-2.0.1\\MyHelloWorld\\proj.android\\obj\\local\\armeabi 这是我的,你的对应)

然后执行:

takeown /f * /a /r

然后再执行:

icacls * /t /grant:r everyone:f

然后再用cygwin去生成ok

5、将工程导入到eclipse中...

注意:有的可能导不进来,也就是找不到工程,哈哈!那是少了两个文件,在别的工程里去copy一份过来,就能看到了。导入进来有感叹号!别急着运行,project中的clean下,然后稍等一下,工程没有感到好了,ok,这是我们运行:

哈哈!高兴一下吧~ 

第二种:win32的HelloWorld

我用我的mac在win7下搞了昨天一天,然后在我原来的老笔记本上装,同样的配置:vs2010+cocos2dx-2.0.1结果,结果跑起来非常顺利,一下就成功了。结果在mac上的win7下出现各种问题,费劲各种奏折,看了n篇文章,反复操作,然后不断的请高手指教,终于是在我的mac上的win7下vs2010上将其把HelloWorld给跑出来了。下面就和大家分享一下,我是如何搭建的,然后遇到了一些什么问题?

1、安装vs2010

2、然后运行cocos2d-x下的cocos2d-win32.vc2010.sln

3、右击解决方案、然后选生成解决方案

这里需要等待一段时间....

结果如下:

运气很好~ 然后点击HelloWorld工程,右击设置为启动项,然后调试运行....这是幸运人士显示的结果:

如果这个过程全是一次性通过的,恭喜你!你的运气真的非常棒!....

接下来截出这个生成过程中,我以前出现过得各种问题的图:

问题一:

以上两种情况出现的原因:你是的Path系统环境变量的路径,被弄没了

变量值,从左拉到右都没有看到关于System32相关的关键变量了....

解决办法:;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem

将上面这段环境变量,添加到变量值最后面然后确定,就ok了...

然后再试试:生成和运行cocos2d-x下面的build-win32.bat,就不会出现上面的问题了。

问题2:

这个问题,绝大部分人生成的时候都会,报这个错,直接将cocos2d-x下面别的目录下,copy到cocos2d-x-2.0.1的Debug.win32下面,就ok了

还有很多什么缺这个,缺那个的,文件失败的,都采用这种方式去处理,直到不再生成文件或者什么失败的情况,好了,现在运行后,HelloWorld神奇的出现了

各种开心吧~~ 

补充在win32下创建自己的工程,为了以后方便,也将此内容更新到此处~

第一步:运行InstallWizardForVS2010.js(我用的是vs2010,你选择对应的,我的目录如下:D:\\work\\cocos2d-x-2.0.1\\template\\msvc)

补充:此处可能出现的问题有两种:

问题一:installWizardForVS2010.js 无法打开

解决办法:

打开注册表编辑器,定位[HKEY_CLASSES_ROOT\\.js]这一项,双击默认值将其改为“JSFile”即可

问题二:installWizardForVS2010.js,提示:该文件没有与之关联的程序来执行该操作。请安装一个程序,或者,如果已安装程序,请在默认程序

解决办法:installWizardForVS2010.js右击,打开方式:C:\\Windows\\System32下的wscript.exe来打开..

第二步:创建工程

如果第一步操作成功,那打开vs创建新工程的时候,在visual C++模块下就会多一个Cocos2d-x..选择他,用他来创建一个MyHelloWorld

下一步:

第三步:添加包含和库   ---》右击工程,选择属性

包含目录:如下图(添加你自己对应的路径)

添加库目录:lib文件夹(在你的工程目录下创建,然后从cocos2dx目录下去copy如下文件到这个lib下面) 如下图:

第四步:生产...然后运行

第五步:添加如下文件到你工程目录下的Debug.win32文件夹下(不知道不知道我这里这些文件怎么来的,就去cocos2dx的Debug.win32目录下面去copy进入)

第六步:运行...显示HelloWorld   ok  恭喜了~ 

 

 

搞了这么久大家支持下吧! 

以上是关于win32和android 的cocos2dx环境搭建详细教程的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解

cocos2dx3.1 win7安装步骤及编译到安桌

改良cocos2dx Win32下的内存占用

codeblocks中cocos2dx项目添加新的.cpp和.h文件后编译运行的方法

尝试运行 cocos2dx Debug.win32 时缺少 appcrt140d.dll。 dll在哪里获取?

cocos2d-x win8下的环境配置和建立项目