zoukankan      html  css  js  c++  java
  • 构建NDK交叉编译链

    有时我们需要单独编译个c文件,生成一个ELF在Android上面跑,NDK提供了一个 make-standalone-toolchain.sh 脚本,用于生成一套特定平台的交叉编译工具链

    使用方法如下:

    kiiim@ubuntu :~/aosp/android-ndk-r10d$ ./build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-21 --install-dir=~/ndk_arm_android21 --toolchain=arm-linux-androideabi-4.9 --system=linux-x86_64
    Copying prebuilt binaries...
    Copying sysroot headers and libraries...
    Copying c++ runtime headers and libraries...
    Copying files to: ~/ndk_arm_android21
    Cleaning up...
    Done.
    

    简记一下参数设置:

    –arch 选择目标平台,除了arm还有下面几种:

    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
    

    –platform 设置Anroid API Level

    –install-dir 指定生成的工具链目录

    –toolchain 设置编译器环境,可以是GCC或者CLANG

    Toolchain	Value
    arm	
    --toolchain=arm-linux-androideabi-4.8
    --toolchain=arm-linux-androideabi-4.9
    --toolchain=arm-linux-android-clang3.5
    --toolchain=arm-linux-android-clang3.6
    x86	
    --toolchain=x86-linux-android-4.8
    --toolchain=x86-linux-android-4.9
    --toolchain=x86-linux-android-clang3.5
    --toolchain=x86-linux-android-clang3.6
    mips	
    --toolchain=mips-linux-android-4.8
    --toolchain=mips-linux-android-4.9
    --toolchain=mips-linux-android-clang3.5
    --toolchain=mips-linux-android-clang3.6
    arm64	
    --toolchain=aarch64-linux-android-4.9
    --toolchain=aarch64-linux-android-clang3.5
    --toolchain=aarch64-linux-android-clang3.6
    x86_64	
    --toolchain=x86_64-linux-android-4.9
    --toolchain=x86_64-linux-android-clang3.5
    --toolchain=x86_64-linux-android-clang3.6
    mips64	
    --toolchain=mips64el-linux-android-4.9
    --toolchain=mips64el-linux-android-clang3.5
    --toolchain=mips64el-linux-android-clang3.6
    

    –system 指定工作环境,比如在ubuntu 64位下,就指定linux-x86_64,其它平台还有:

    Host toolchain	Value
    64-bit Linux	-system=linux-x86_64
    64-bit MacOSX	-system=darwin-x86_64
    64-bit Windows	-system=windows-x86_64
    

    参考:

    https://developer.android.com/ndk/guides/standalone_toolchain.html

  • 相关阅读:
    Http Get与Post的区别
    华为USG6000V防火墙简单配置案例
    华为USG6000V防火墙简单配置案例
    基于三层交换机的VRRP技术--MSTP、VRRP的综合运用
    ci test
    CI框架 default_controller 如何设置为:'目录/Controller' 转
    查看django版本的方法
    Django如何安装指定版本
    django学习--2 模板
    django学习--1
  • 原文地址:https://www.cnblogs.com/gm-201705/p/9864054.html
Copyright © 2011-2022 走看看