工具: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找了下顺利解决了
(assuming Cygwin is installed at C:\cygwin):0 [main] bash 2216 child_info_fork::abort: cygiconv-2.dll: parent(0x26D000) != child(0x38D000)
假设你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 等待命令执行结束;
如果命令没执行或出错,重试上面的步骤或重启下电脑;
我按照上面的步骤顺利解决了这个问题;希望也能帮到你这家伙;