Linux ARM工具链构建

Linux ARM工具链构建,linux,gcc,compiler-construction,Linux,Gcc,Compiler Construction,我正在使用sysroot方法使用GCC4.6.3构建一个ARM交叉工具链。如果我按照LFS说明将gmp、mpfr和mpc源文件夹复制到GCC源文件夹中,构建将失败,因为即使路径正确,mpc也无法找到mpfr 当以静态链接方式手动编译gmp、mpfr和mpc时,GCC构建将无任何错误完成 现在我的问题是,我是否应该将gmp、mpfr和mpc安装到工具链构建目录中的任意位置,当工具链完成时,这些目录会被删除,因此它们只适用于GCC构建的不同阶段,或者我应该将前缀指向$SYSROOT,以便它们成为工具

我正在使用sysroot方法使用GCC4.6.3构建一个ARM交叉工具链。如果我按照LFS说明将gmp、mpfr和mpc源文件夹复制到GCC源文件夹中,构建将失败,因为即使路径正确,mpc也无法找到mpfr

当以静态链接方式手动编译gmp、mpfr和mpc时,GCC构建将无任何错误完成


现在我的问题是,我是否应该将gmp、mpfr和mpc安装到工具链构建目录中的任意位置,当工具链完成时,这些目录会被删除,因此它们只适用于GCC构建的不同阶段,或者我应该将前缀指向$SYSROOT,以便它们成为工具链的永久部分?最正确的方法是什么?

我对交叉编译器基础结构采取了不同的方法。我有一个目录:$HOME/local,包含所有预期的子目录:bin/、lib/、include/,等等。$HOME/local/bin在我的$PATH中是第一个,而$HOME/local/lib在达尔文的$LD\u LIBRARY\u PATH或$DYLD\u LIBRARY\u PATH中是第一个

然后,我构建并安装gmp、mpfr、mpc,in-prefix=$HOME/local,带有:

我可以为这些包使用快速的、平台相关的标志,这些标志通常不适用于具有跨目标三元组的gcc:

优点是,无论我在哪里构建交叉编译器基础设施,都可以访问gmp、mpfr、mpc库、includes等,并且相同的库可以用于多个交叉编译器。i、 我有4.6.x AVR,独立x86_64-pc-elf,ARM EABI。使用gcc配置选项的每个选项:

> --with-mpc=$HOME/local --with-mpfr=$HOME/local --with-gmp=$HOME/local

显然,当我对工具链构建进行fsck时,我经常这样做,至少我不必重复构建的这一部分。

我对交叉编译器基础结构采取了不同的方法。我有一个目录:$HOME/local,包含所有预期的子目录:bin/、lib/、include/,等等。$HOME/local/bin在我的$PATH中是第一个,而$HOME/local/lib在达尔文的$LD\u LIBRARY\u PATH或$DYLD\u LIBRARY\u PATH中是第一个

然后,我构建并安装gmp、mpfr、mpc,in-prefix=$HOME/local,带有:

我可以为这些包使用快速的、平台相关的标志,这些标志通常不适用于具有跨目标三元组的gcc:

优点是,无论我在哪里构建交叉编译器基础设施,都可以访问gmp、mpfr、mpc库、includes等,并且相同的库可以用于多个交叉编译器。i、 我有4.6.x AVR,独立x86_64-pc-elf,ARM EABI。使用gcc配置选项的每个选项:

> --with-mpc=$HOME/local --with-mpfr=$HOME/local --with-gmp=$HOME/local

显然,当我备份一个工具链构建时,我经常这样做,至少我不必重复构建的这一部分。

构建交叉编译器是一项乏味的任务。为什么不使用来自动化构建交叉编译器所需的所有步骤?

构建交叉编译器是一项乏味的任务。为什么不使用来自动化构建交叉编译器所需的所有步骤

> --with-mpc=$HOME/local --with-mpfr=$HOME/local --with-gmp=$HOME/local