【问题标题】:cocos2d-2.0-rc2-x-2.0.1 Hello World sample doesn't work using cygwin on windows8cocos2d-2.0-rc2-x-2.0.1 Hello World 示例在 windows8 上使用 cygwin 不起作用
【发布时间】:2012-07-12 11:48:43
【问题描述】:

我无法构建 helloWorld 示例来获取 .so 以在 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 ???需要帮助!!!

【问题讨论】:

    标签: android android-ndk cygwin cocos2d-x


    【解决方案1】:

    当我尝试时,似乎构建文件的权限也丢失了。

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

    forum 上有一个 link suggested,目前似乎无法访问。

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

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

    编辑:better fix 可能是将/etc/fstab 中的默认权限设置为

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

    执行此操作后,您应该可以运行./build_native.sh

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

    查看此answer 以设置工作目录下所有文件的写入权限。

    考虑在chmod 上查看tutorial 以了解 linux/unix 中的权限概念,以防您不熟悉它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多