我无法构建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,我使用的是cygwin而不是1.7 ..我已经在我的NDK目录上执行了chown ..但是当我在HelloWorld示例程序中为cocos2d运行命令./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 ???需要帮助!!!
答案 0 :(得分:0)
当我尝试时,似乎缺少对构建文件的权限。
$ ls -l obj/local/armeabi/png.a
---------- 1 someuser Domain Users 912618 Jul 12 18:23 obj/local/armeabi/png.a
link suggested上有forum,现在似乎无法访问。
无论如何,要修复,您可以设置文件的权限。
$ 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以对工作目录下的所有文件设置写入权限。