cocos2d-2.0-rc2-x-2.0.1 Hello World 示例在 Windows8 上使用 cygwin 不起作用



我无法构建helloWorld样本来获取。因此无法在eclipse中运行它。我已成功导入项目,并根据需要将变量更改为根路径。这是我的build_native.sh。我正在粘贴我在文件中所做的唯一更改

NDK_ROOT_LOCAL=/cygdrive/e/android-ndk-r8
COCOS2DX_ROOT_LOCAL=/cygdrive/e/cocos2d

我的NDK工作得很好,因为我已经成功地执行了NDK的HelloWorld示例。我的SDK版本是20,NDK版本是8,我使用的是1.7以上的cygwin。我已经在NDK目录上执行了chown。。但当我执行命令时/cocos2d的HelloWorld示例程序中的build_native.sh我得到了这个错误

E:/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-          linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/png.a: No such file: Permission denied
collect2: ld returned 1 exit status

当我在NDK目录窗口中搜索png.a时,找不到该文件。我很困惑是权限错误还是文件不存在。但我有最新的NDK,如果没有文件,怎么会有人能够运行cocos2d-x???需要帮助!!!

当我尝试时,似乎缺少对构建文件的权限。

$ ls -l obj/local/armeabi/png.a
---------- 1 someuser Domain Users 912618 Jul 12 18:23 obj/local/armeabi/png.a

论坛上建议了一个链接,但现在似乎无法访问。

无论如何,要修复,您可以设置文件的权限。

$ cd obj/local/armeabi/
$ chmod 664 *.a
$ cd ../../..

编辑:更好的修复方法可能是将/etc/fstab中的默认权限设置为

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

接下来,您应该能够运行./build_native.sh

您可以使用find . -type f -perm 0 命令来定位当前目录下没有(读/写)权限的所有文件

请参阅此答案以设置工作目录下所有文件的写入权限。

如果您不熟悉权限,可以考虑阅读chmod教程来理解linux/unix中权限的概念。

最新更新