ubuntu下关于ndk编译报错的现象[[obj/local/arm64-v8a/objs/hello-jni/hello-jni.o] ]

ubuntu下关于ndk编译报错的现象:

在windows下进行ndk编译一般情况下直接通过ndk-build就直接编译了,今天晚上偶然在ubutun下装了个ndk,直接编译sample里面想试一下,结果报错了

错误信息如下:

[arm64-v8a] Compile        : hello-jni <= hello-jni.c
jni/hello-jni.c:17:20: fatal error: /home/dean/android-ndk-r10b/platforms/android-L/arch-arm64/usr/include/string.h: Permission denied
 #include <string.h>
                    ^
compilation terminated.
make: *** [obj/local/arm64-v8a/objs/hello-jni/hello-jni.o] Error 1

刚看到错误觉得可能是权限问题吧,所以直接去把这个string.h的文件的权限修改了,再次编译:

[arm64-v8a] Compile        : hello-jni <= hello-jni.c
[arm64-v8a] SharedLibrary  : libhello-jni.so
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find crtbegin_so.o: 没有那个文件或目录
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -lstdc++
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -lm
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -lc
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -lc
/home/dean/android-ndk-r10b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -ldl
collect2: error: ld returned 1 exit status
make: *** [obj/local/arm64-v8a/libhello-jni.so] Error 1

还有有个错误,还是有些文件的权限是不能访问的.
索性直接将整个android-ndk的文件夹的权限全部给修改了

然后就正确的进行了编译.所以如果在linux下编译遇到这种错误的话,要有以下的几点检查:
1:检查文件夹是否有属性,因为ndk-build与sudo是不能连用的
2:修改过文件夹如果还不能的话,那就去检查文件,因为如果源文件中出现一些中文空格等的话,这个时候也是会编译报错的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值