linux – 如何使用crosstool-NG更改GCC“加拿大交叉”编译的主机类型

我已经安装了crosstool-NG并在主机构建的x86机器上构建了GCC,该机器的目标是arm-unknown-linux-gnueabi.然后我用arm-unknown-linux-gnueabi-gcc来编译一个在我的ARM板上运行良好的程序.

我现在想要构建GCC,将ARM定位在ARM上.我相信术语是

build=i486-pc-linux-gnu
target=arm-unknown-linux-gnueabi-gcc
host=arm-unknown-linux-gnueabi-gcc

我该怎么做呢?运行./configure for crosstool-NG传递–host = arm-unknown-linux-gnueabi-gcc?

或者我是否更改了CC / etc的环境变量?

最佳答案
您使用.config文件执行此操作.我认为名字中带有逗号的样本是很好看的.主要区别在于您必须多次运行ct-ng才能创建多个交叉编译器.

ct-ng最近在加拿大十字架上发生了一些变化.但是,您可能需要重新使用在PC上运行的原始交叉编译器.原因是编译器将包含为ARM编译的库,您需要在PC上生成这些库.通常,确保iX86主机ARM目标编译器位于您的路径上.然后,您必须在工具链菜单中为此工具链设置主机元组或前缀.您需要将构建元组设置为相同的编译器.

ct-ng help | grep variables

这为一个目录提供了一堆文本文件,您可以通过grep获取提示.

例如,参见6 – Toolchain types.txt.就建筑的复杂性而言,跨本土或加拿大十字架确实无关紧要.你只需要一个Cross native的中间体,但是你需要两个加拿大十字架的中间编译器.

编辑:Ct-ng’s How a compiler is constructed有一些关于所有发生的信息.

转载注明原文:linux – 如何使用crosstool-NG更改GCC“加拿大交叉”编译的主机类型 - 代码日志