Android NDK独立编译链
Posted 不会写代码的丝丽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android NDK独立编译链相关的知识,希望对你有一定的参考价值。
参考
独立工具链(已弃用)
Cross-compilation using Clang
这段时间复习NDK的时候发现已经在(r21)里面已经完全找不到gcc/g++
的影子了,后来发现改用LLVM
套件了。
于是乎想爽一把单独使用clang
进行单独编译成arm
的可执行文件,但是--sysroot
等设置了都死活编译不起来报错如下:
clang: error: unable to execute command: program not executable
clang: error: linker command failed with exit code 1 (use -v to see invocation
于是自己检查了下ndk提供的sysroot
发现里面都变化了
发现里面多了lib目录abi选择的文件夹,include目录也是
于是想着自己倒腾一个sysroot文件夹再去编译,发现还是失败,调用clang --help
发现没有--sysroot
选项说明,后来发现android的llvm提供了一个参数-target
可以让我们快速选择abi,而不是像gcc那么繁琐。(简直爽)
比如下面的代码:
clang --target=armv7a-linux-androideabi27
最后发现为了方便我们使用ndk提供封装的脚本
比如说x86_64-linux-android30-clang.cmd·
文件如下内容
以上是关于Android NDK独立编译链的主要内容,如果未能解决你的问题,请参考以下文章
sh 为Android开发构建Google Protobuf库。用android ndk独立工具链。