TL / DR:我在哪里可以找到关于建立更GCC 4.7.0的信息交叉编译工具链ARM(gnueabi)平台(意为树莓派设备上运行)?
我刚刚得到了一个全新的树莓派,我非常渴望开始编程吧。 我已经成功地安装GCC工具链(我用的是Arch Linux的系统映像),并整理了一些基本的程序,一切工作正常。
我也试着编译Boost库,因为我经常在我的项目中使用它们,一切似乎按照下列指示(以做工精细./bootstrap.sh
+ ./b2
除了事实汇编是痛苦的缓慢)。 我把它上了几个小时,但它几乎没有得到过前几个源文件。 我离开它运行了一夜后,我发现,在构建过程中止由于RAM不足。
所以,我的猜测是,锉Pi为编写这样大小的东西作为加速只需动力不足。 因此,交叉编译在我脑海中。 然而,尽管有一个关于获得ARM交叉编译网上,我发现这混乱的大量信息。 该从何甚至开始?
我有最新的版本的GCC(4.7.0),可在我的树莓派,所以我非常喜欢使用相同版本的交叉编译。 我在哪里可以得到GCC 4.7.0工具链为ARM? (我将在x86的CentOS 6.2被编译)
编辑:
我不需要释放GPU内存,并成立了4GB的交换分区USB驱动器上,而构建文件在NFS共享。 升压现正整理多快很多,所以它是可管理的。 我还是想知道我怎么能建立一个GCC 4.7工具链的交叉编译我的x86 PC上虽然,因为我打算做了很多编译,我想它是尽可能快。
编辑2:
由于GCC 4.7.0是比较新的,似乎没有成为一个预先建立的交叉编译器(i386-> ARM)。 我可能要建立一个自己,这似乎是一个不平凡的任务(我已经尝试和失败)。 有谁知道一个教程遵循为构建GCC交叉编译器,希望能为近期版本中的一个?
我试着用这个伟大的shell脚本 (这对于建设一个同样的拱编译伟大的工作),我已经成功地建立binutils
和海湾合作委员会的先决条件,但随后GCC编译保持着许多神秘的错误失败。 我真的失去了这里,所以我将非常感谢您的帮助。
GCC上树莓裨用配置
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=https://bugs.archlinux.org/
--enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu
--disable-libstdcxx-pch --enable-libstdcxx-time
--enable-gnu-unique-object --enable-linker-build-id --with-ppl
--enable-cloog-backend=isl --enable-lto --enable-gold
--enable-ld=default --enable-plugin --with-plugin-ld=ld.gold
--with-linker-hash-style=gnu --disable-multilib --disable-libssp
--disable-build-with-cxx --disable-build-poststage1-with-cxx
--enable-checking=release --host=arm-unknown-linux-gnueabi
--build=arm-unknown-linux-gnueabi
编辑3:
我设法通过建立一个4.7 GCC工具链ARM(耶!) 这个shell脚本通过在注释用户dwelch的建议。 我还内置newlib
和libstdc++
使用这篇文章作为指导。 该工具链工作正常,但母鸡我在我的树莓派运行可执行文件时,出现Illegal instruction
。 可能是什么的原因是什么?