coco2d-x环境搭建及编译(一)

来源:互联网 发布:老虎扎古淘宝 编辑:程序博客网 时间:2024/05/13 19:27

工具:cygwin: http://cygwin.com/install.html;

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

点击 Next按钮。 
选择包进行安装
在这个页面上,您将选择要安装的包。默认情况下,Cygwin 基本包将不安装 GCC,因此,您必须修改默认设置。
将鼠标移动到 Devel边的加号(+)上,然后点击它展开 Devel类。 
图 7. 选择包进行安装

在你还没确定哪些需要哪些不需要时,最好全部下载,点击All后的default为install。即是完全安装了。保证了GCC编辑器的使用。

您会看到在 Devel 下有许多入口,其中只有三个是您需要的,次序如下:

  • binutils
  • gcc
  • gcc-mingw 
    不是所有默认的基本包都需要运行 GCC,但它们不太大,因此为简单化,就安装它们。
    注意很容易选错包或版本,尤其在重新安装的时候,因为选择窗口中的循环按钮是不标准的。在这一步我们建议的就是多加小心,尤其是有多个 GCC 版本的情况下。
    为选择这三个包,点击列 New中每个双向箭头直到显示每个包的版本号。根据您机器上已安装的以及镜像上所拥有的合适的版本,列入口在各图标间循环: 


    如果有多个版本可用,选择数字最大的一个。要下载二进制文件,确保选中了“Bin”列的复选框。
    图 9. 下载二进制文件


    完成下载
    选择完三个包之后,Cygwin 就访问选择的镜像主机,然后下载那三个包以及默认的基本包。根据您的连接速度这将持续几分钟,在安装期间,将打开和关闭许多弹出窗口。
    因为存放 Cygwin 安装的镜像站点是义务的,有时不可用或负荷过重。如果发现选择的镜像没有响应,就按取消 ( Cancel),这将终止整个安装程序。 
    惟一的办法就是重新开始安装并选择另一个镜像;这非常让人感到沮丧。幸运的是,安装程序记住了大多数您上次所做的,因此通常取默认情况。在重新选择正确的包时必须小心,因为在后面的安装中不帮你选择这些内容。
    setup程序然后询问是否在您的桌面或开始菜单创建一个 Cygwin 快捷键。该快捷键启动 Cygwin shell (称为 bash), 这对我们计划中的 DB2 使用并不是必须的,但对测试我们的安装是有用的。因此让 setup至少创建一个桌面快捷键。我们将在安装的后面使用它。 
    最后,点击 Finish按钮。我们将在 
    后面
    测试安装结果。 
    图 10. 完成安装
    等待一段时间可以完成安装

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

    打开安装目录D:\cygwin\home找到  .bash_profile文件用记事本打开然后在文本最后加上

    NDK_ROOT=/cygdrive/d/android-ndk-r8e
    export NDK_ROOT

    NDK_ROOT只是标识符但我建议使用NDK_ROOT;因为后面要用到;

    还有配置路径要记得加/cygdrive

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

    用记事本打开coco2d-x目录F:\cocos2d-x-master 的create-android-project文件可以看到下面提示;

    :: This script is used to create an android project.
    :: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.

    依次指定_ANDROIDTOOLS _CYGBIN _NDKROOT的win环境的绝对路径;然后保存完成;

    右键管理员运行create-android-project文件;

    跟据提示创建Android项目;

    完成可以看到coco2d-x目录多了你刚刚创建的项目;

    进入项目有proj.android,classes,resources文件夹;

    其中Classes:是存放默认工程的C++文件

    proj.android 是android的eclipse工程项目

    Resources 资源文件

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

    proj.android工程文件夹下有build_native.sh脚本

    我们使用cygwin定位到proj.android目录

    输入  ./build_native.sh

    如果提示找不到ndk错误 说明配置cygwind环境不对;回到上面检查一下;

    因为build_native.sh文件使用的是NDK_ROOT;所以配置cygwin变量的时候就使用NDK_ROOT作为标识符吧;


    接着脚本能跑起来了,然后可能遇到的问题  permission deny 说明文件没有访问权限,不知我是不是用win8比较苦逼,一个个文件去添加用户权限;

    也就是文件右键属性--安全--权限;改到跑 ./build_native.sh不报权限问题就ok啦,大概10来个文件吧;错了都有提示的;

    如果顺利的话就能得到so文件啦;下面的就不用看了

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

    下面是我遇到编译时遇到的错误:在stackoverflow找了下顺利解决了

    0 [main] bash 2216 child_info_fork::abort: cygiconv-2.dll: parent(0x26D000) != child(0x38D000)
    (assuming Cygwin is installed at C:\cygwin):
    假设你cygwin安装在c:\cygwin;

    1,关闭所有cygwin进程;

    2,进入c:cygwin\bin目录下依次查看 dash.exe, ash.exe, rebase.exe和 rebaseall.exe文件是否存在,不存在得重新安       装cygwin了;

    3,右键c:cygwin目录将只读选择的勾去掉应用整个文件夹及文件:

    4,在\bin目录下用管理员身份执行dash.exe;

          输入/usr/bin/rebaseall -v  等待命令执行结束;

    如果命令没执行或出错,重试上面的步骤或重启下电脑;

    我按照上面的步骤顺利解决了这个问题;希望也能帮到你这家伙;

  • 原创粉丝点击