交叉编译中的 build、host、target

  • Post author:
  • Post category:其他


交叉编译中的 build、host、target

在交叉编译中,比较常见的一些概念就是 build、host 和 target 了:


  • build

    :The platform on which the compilation tools are executed

  • host

    : The platform on which the code will run

  • target

    :Only when building a compiler, this is the platform for which the compiler will generate code

以 gcc 为例子,在 gcc 中,使用:

./configure –build=编译平台 –host=运行平台 –target=目标平台 [各种编译参数]

来配置 gcc 源代码,以让其编译出我们需要的 gcc 编译器。

在这组配置参数中:


  • –build

    :表示目前我们正在运行的平台名称是什么,如:当前我们是在电脑上编译该系统,那么我们的 –build 就可能是 x86,如果在其他种类机器上编译就是那个机器所对应平台名称。

  • –host

    :表示我们把这个编译好的 gcc 在什么样的平台下运行,在交叉编译过程中这个需要我们来指定。host 也可以不指定,那么 host 将自动使用 build 来定义。


    注:–build 和 –host 不同的时候就被配置文件认定为交叉编译方式。

  • –target

    :该参数的目的是让配置程序知道这个软件被编译后使用来处理什么平台上的文件的。


示例:


假设在 x86 下编译一个运行于 arm 上的编译器 gcc,这个 gcc 产生 mips 平台的目标代码。那么我们的配置方式是:

–build=x86 –host=arm –target=mips



版权声明:本文为qq_28087491原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。