使用交叉编译器编译原生GCC for arm

我期待为ARM系统创build一个GCC的本地版本,我遇到了一些麻烦。 生成机器是i686-linux。 我看到的每个教程都告诉我如何设置实际的交叉编译套件(我已经使用了crosstools-ng)。 但是,我没有看到任何与编译本机ARM GCC有关的东西。 我使用的configurationstring如下,我只设置了标头的sysroot。 我还交叉编译并安装了GMP和MPFR。

../../gcc-4.3.5/configure –host=arm-unknown-linux-gnueabi –build=i686-build_pc-linux-gnu –target=arm-unknown-linux-gnueabi –prefix=/home/vm/gcc-native/sysroot –with-sysroot=/home/vm/gcc-native/sysroot –enable-shared –enable-threads –disable-libmudflap –disable-libssp –disable-libgomp –disable-libstdcxx-pch –with-gnu-as –with-gnu-ld –enable-languages=c,c++ –enable-symvers=gnu –enable-__cxa_atexit –disable-nls –disable-multilib –with-gmp=/home/vm/gcc-native/sysroot/ –with-mpfr=/home/vm/gcc-native/sysroot/ 

海湾合作委员会将build立一段时间,但随后死亡:

checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile.

我不知道这将甚至会运行在我的系统上,因为我在i686-linux上构build,目标/主机都是arm-linux。 我现在的想法是find一个ltib发行版,看一个GCC的规格文件,并试图遵循所有的步骤。 由于与std命名空间冲突,我的板上运行的GCC无法在我的系统上编译。

任何信息/链接将不胜感激!

查看config.log文件(可能不是最高级的文件),看看测试失败时它要做什么。 只是希望cannot compute suffix消息,你应该找到正确的位(它不会在文件的末尾)。

请注意,如果你想构建一个跨本地工具链,你需要在你的路径上的某个地方使用arm-unknown-linux-gnueabi-gcc 。 即你需要一个交叉编译器来构建跨本地编译器。