数码资讯
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 <= h
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
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:修改过文件夹如果还不能的话,那就去检查文件,因为如果源文件中出现一些中文空格等的话,这个时候也是会编译报错的
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。