交叉编译中的 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
交叉编译涉及build、host和target三个关键概念:build表示编译工具运行的平台,host是代码将要运行的平台,而target则是编译器生成代码的目标平台。在配置gcc进行交叉编译时,通过--build、--host和--target参数指定相应平台。例如,若在x86平台上构建能在arm上运行的gcc,且该gcc用于生成mips平台代码,配置应为:--build=x86 --host=arm --target=mips。
606

被折叠的 条评论
为什么被折叠?



