首页 文章

如何使用crosstool-NG更改'Canadian cross' GCC编译的主机类型

提问于
浏览
2

我已经安装了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的环境变量?

1 回答

  • 1

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

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

    ct-ng帮助| grep变量

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

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

    Edit: Ct-ng's How a compiler is constructed有一些关于所有事情的信息 .

相关问题