Cococs2d-x移植到Window下的问题

这两天在找有关游戏的工作,无奈没有公司招我这样一个新手,只能在家写写码了,以前只在Linux下写过cocos2d的的代码,不过使用python脚本生成的代码直接导入Android的项目无任何问题,因为本人对Linux也比较熟悉。这几天准备弄到windows下结果就悲剧了,导入Eclipse各种悲剧,不过结果总是好的,终于被我折腾好了,在这里也总结一下吧:在这里我们直接创建一下新的项目,直接编译看看它会报什么错:

please define NDK_ROOT
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

看明白了吧,在这里我们要定义NDK_ROOT这个路径,当然前提是你安装了NDK,在这里我们就默认你安装了吧,我们找到这个项目下的build_native.sh文件,在这个文件里加上这个环境变量,需要注意的是在windows下的路径表示和Linux下的有点不太一样,需要注意一下,以我的环境为例:

我直接在windows下拿来的路径是这样的:

E:android-sdkandroid-ndk-r9b-windows-x86_64android-ndk-r9b

如果你这样写了,编译时会提示你找不到这个文件,你要改成这个样子才可以:

NDK_ROOT=E:/android-sdk/android-ndk-r9b-windows-x86_64/android-ndk-r9b

加入这一行的位置大概在这些语句的上面:

if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi

加上一行就编译过了? 才不是呢,如果是这么简单也不用这么久了,在Android项目下有个README.md文件,打开这个文件看看吧,主要看一下几行就行:

2. Only for Windows
    1. Install [Cygwin](http://www.cygwin.com/) with make (select make package from the list during the install).
    2. Add `Cygwinin` directory to system PATH variable.
    3. Add this line `none /cygdrive cygdrive binary,noacl,posix=0,user 0 0` to `Cygwinetcfstab` file.

其中step 1,step2 好理解,加入第三个是为什么呢,第三个主要用来配置文件的权限问题,如果比修改这一行编译打包时会遇到权限问题,这个文件要修改cygwin的fstab文件,将该文件修改如下:

#none /cygdrive cygdrive binary,posix=0,user 0 0
none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

注释掉默认的,加入下面的一行,在次编译就不会有任何问题了。

至此问题全部解决。

原文地址:https://www.cnblogs.com/jjxxjnzy/p/3581756.html