2012-07-12 55 views
0

我无法构建helloWorld示例以使.so在eclipse中运行它。我已成功导入项目,并根据需要将变量更改为根路径。这是我的build_native.sh。我贴我在该文件中cocos2d-2.0-rc2-x-2.0.1 Hello World示例在windows8上无法使用cygwin

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

做出的唯一改变而且因为我已成功执行了NDK的HelloWorld示例我的NDK工作正常。我的SDK版本是20,NDK版本是8,我使用的是1.7以上的cygwin ..我已经在我的NDK目录上执行了chown ..但是当我在HelloWorld示例程序中运行命令./build_native.sh时,我得到了cocos2d这个错误

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 

,当我搜索png.a在我的NDK目录窗口中无法找到该文件。我很困惑这是一个权限错误还是文件不存在。但是我有最新的NDK,如果文件不在那里,任何人都可以运行cocos2d-x?需要帮忙!!!

回答

0

当我尝试以及似乎在构建文件的权限丢失。

$ 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中权限的概念,以防您不熟悉它们。