记录关于交叉编译器的一点知识

To cross-compile is to build on one platform a binary that will run on another platform. When speaking of cross-compilation, it is important to distinguish between the build platform on which the compilation is performed, and the host platform on which the resulting executable is expected to run. The following configure options are used to specify each of them:

--build=build

The system on which the package is built.
--host=host

The system where built programs and libraries will run.

The --host and --build options are usually all we need for cross-compiling. The only exception is if the package being built is itself a cross-compiler: we need a third option to specify its target architecture.

--target=target

When building compiler tools: the system for which the tools will create output.

For instance when installing GCC, the GNU Compiler Collection, we can use --target=target to specify that we want to build GCC as a cross-compiler for target. Mixing --build and --target, we can actually cross-compile a cross-compiler; such a three-way cross-compilation is known as a Canadian cross.

来源:https://www.gnu.org/savannah-checkouts/gnu/automake/manual/html_node/Cross_002dCompilation.html

时间: 2024-10-17 21:00:10

记录关于交叉编译器的一点知识的相关文章

如何得到交叉编译器

了解了之前的交叉编译器的命名规则后,也就明白了交叉编译,针对不同架构,平台,目标系统等的区别. 而对于嵌入式开发,想要获得,针对我们所需要的,目标的CPU所合适的交叉编译器,就成了接下来,顺其自然要考虑的事情. 想要得到,可用的,针对自己的CPU的交叉编译器,主要有两种方式: 3.2.1. 拿来主义:直接去下载和使用别人已经编译好的交叉编译器 难度等级:1级 这个没有啥特殊要求解释的,就是,网上,总会有,免费的,好用的各种资源的. 其中就包括,别人,已经针对某些CPU,某些平台,编译好了交叉编译

交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别

  自己之前一直没搞清楚这两个交叉编译器到底有什么问题,特意google一番,总结如下,希望能帮到道上和我有同样困惑的兄弟-.. 一. 什么是ABI和EABI 1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture) 在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口. ABI涵盖了各种细节,如: 数据类型的大小.布局和对齐; 调用约定(控制着函数的参数

复习Oracle中的一点知识

Oracle 10g Oracle是为网格计算而设计的 10g中的g就是指grid computing Oracle将数据存储在文件中,保存不同信息的文件(数据文件,控制文件,日志文件)就组成了数据库的物理结构 逻辑结构:schema, extent, data block, segment Schema 数据库对象的集合,创建用户时会生成一个与用户同名的Schema,Schema 直接处理data的逻辑结构(table, view, index, clusters) View -- 虚拟的,可

玩转开发板之交叉编译器安装

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译.这个编译过程就叫交叉编译.简单地说,就是在一个平台上生成另一个平台上的可执行代码.这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture).操作系统(Operating System).同一个体系结构可以运行不同的操作系统:同样,同一个操作系统也可以在不同的体系结构上运行.举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for

交叉编译器的名字的命名规则

交叉编译器的名字的命名规则 在折腾嵌入式开发,用到交叉编译器的时候,常常会看到这样的名字: arm-xscale-linux-gnueabi-gcc arm-liunx-gnu-gcc 等等 其中,对应的交叉编译器的前缀为: arm-xscale-linux-gnueabi- arm-liunx-gnu- 而关于这些名字,我之前也是没注意其具体含义,或者说对于其含义也是很模糊的感觉,不是很清楚这些名字是从何而来的. 后来,经过折腾了crosstool-ng后,基本上明白了这些名字,是如何生成的.

[转载]arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别

arm交叉编译器gnueabi.none-eabi.arm-eabi.gnueabihf.gnueabi区别 (http://www.veryarm.com/296.html) 命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface) 根

安装ARM交叉编译器

1.开发平台 虚拟机:VMware 12 操作系统:Ubuntu 14.04 64bit 2.准备ARM交叉编译工具包 编译uboot和linux kernel都需要ARM交叉工具链支持,这里使用Linaro提供的交叉编译工具.下载地址为:http://releases.linaro.org/ 注意:如果主机是64bit,请选择64位的交叉编译器工具链,32bit的主机选择32位的交叉工具链. The Linaro Toolchain Working Group is pleased to an

arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf的区别

命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] [-gcc] arch – 体系架构,如ARM,MIPS vendor – 工具链提供商 os – 目标操作系统 eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface) 注意 没有vendor时,用none代替: 没有os支持时,也用none代替 同进没有vendor和os支持时,只用一个none代替,比如arm-none-eabi中

linux下交叉编译器制作

目前我用的交叉编译器是TQ2440配套光盘中制作好了的,解压后需要如下配置: 1.对于Fedora系统:修改/etc/profile文件,在其中添加交叉编译器的环境变量的设置. 对于Ubuntu系统,修改/etc/enviroment文件 2.我用的是Fedora系统,修改PATH值,在其后添加上交叉编译器的路径,添加pathmunge /opt/EmbedSky/4.3.3/bin 对于Ubuntu系统,修改PATH="/usr/local/sbin:/usr/local/bin:/usr/s