简书排版
http://www.jianshu.com/p/3bbad4b1b099
- 1
首先上官方文档
https://developer.android.com/ndk/guides/standalone_toolchain.html
可以自定义工具链进行交叉编译
1.对不同的指令集APP_ABI设置
Architecture | Toolchain name |
---|---|
ARM-based | arm-linux-androideabi-<gcc-version> |
x86-based | x86-<gcc-version> |
MIPS-based | mipsel-linux-android-<gcc-version> |
ARM64-based | aarch64-linux-android-<gcc-version> |
X86-64-based | x86_64-<gcc-version> |
MIPS64-based | mips64el-linux-android--<gcc-version> |
2.工具链和相应的值,使用–arch
Toolchain | Value |
---|---|
mips64 compiler | --arch=mips64 |
mips GCC 4.8 compiler | --arch=mips |
x86 GCC 4.8 compiler | --arch=x86 |
x86_64 GCC 4.8 compiler | --arch=x86_64 |
mips GCC 4.8 compiler | --arch=mips |
3.工具链和相应的值,使用–toolchain
Toolchain | Value |
---|---|
arm | --toolchain=arm-linux-androideabi-4.8 |
arm | --toolchain=arm-linux-androideabi-4.9 |
arm | --toolchain=arm-linux-android-clang3.5 |
arm | --toolchain=arm-linux-android-clang3.6 |
x86 | --toolchain=x86-linux-android-4.8 |
x86 | --toolchain=x86-linux-android-4.9 |
x86 | --toolchain=x86-linux-android-clang3.5 |
x86 | --toolchain=x86-linux-android-clang3.6 |
mips | --toolchain=mips-linux-android-4.8 |
mips | --toolchain=mips-linux-android-4.9 |
mips | --toolchain=mips-linux-android-clang3.5 |
mips | --toolchain=mips-linux-android-clang3.6 |
arm64 | --toolchain=aarch64-linux-android-4.9 |
arm64 | --toolchain=aarch64-linux-android-clang3.5 |
arm64 | --toolchain=aarch64-linux-android-clang3.6 |
x86_64 | --toolchain=x86_64-linux-android-4.9 |
x86_64 | --toolchain=x86_64-linux-android-clang3.5 |
x86_64 | --toolchain=x86_64-linux-android-clang3.6 |
mips64 | --toolchain=mips64el-linux-android-4.9 |
mips64 | --toolchain=mips64el-linux-android-clang3.5 |
mips64 | --toolchain=mips64el-linux-android-clang3.6 |
主机工具链和相应的值,使用-system
Host toolchain | Value |
---|---|
64-bit Linux | -system=linux-x86_64 |
64-bit MacOSX | -system=darwin-x86_64 |
64-bit Windows | -system=windows-x86_64 |
自定义
- 1
- 2
- 3
上面演示的仅仅是单一的arm工具链
可以根据自己的需要独立配置
不过相应的arch和对应的toolchain要对应
可以写个Shell脚本处理make_toolchain.sh
在开头配置好相应的路径,和platform即可
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
运行
- 1
交叉编译的工具链配置完成,方便后续进行交叉编译