网站制作 中企动力公司/广州网站设计建设
这应该仍然可以支持,因为它通常用于构建交叉编译器 .
事实上,我刚刚使用gcc 4.6.0和binutils 2.21(在适当的版本中使用gmp,mpc和mpfr),以下似乎工作正常:
获取你要构建的东西的所有档案(gcc-4.6.0.tar.bz2,binutils-2.21.tar.bz2等)到一个新的目录,例如 src
在这个目录中解压缩所有这些,所以你最终得到 gcc-4.6.0/ binutils-2.21/ gmp-5.0.2/ 并且更多地坐在一起
tar jxvf gcc-4.6.0.tar.bz2
... (unpack others here, watch file lists scroll past)
cd gcc-4.6.0 和符号链接gmp,mpc和mpfr目录,但没有链接中的版本号,例如:
ln -s ../gmp-5.0.2 gmp
现在符号链接gu目录中不存在的binutils目录中的所有内容,因此任何已存在的内容都将优先,但binutils工具看起来对构建是可见的:
for file in ../binutils-2.21/* ; do ln -s "${file}" ; done
更改目录并创建一个构建目录,将所有这些内容单独构建到源代码中(这通常是推荐的方法,并且它仍然比在源代码内部构建更可靠):
cd .. ; mkdir build
此时你应该有一组目录和链接,如下所示:
binutils-2.21/
build/
gcc-4.6.0/
gmp -> ../gmp-5.0.2
mpc -> ../mpc-0.9
mpfr -> ../mpfr-3.0.1
bfd -> ../binutils-2.21/bfd
binutils -> ../binutils-2.21/binutils
gas -> ../binutils-2.21/gas
... (lots more symlinks for binutils here, plus existing gcc stuff)
gmp-5.0.2/
mpc-0.9/
mpfr-3.0.1/
从此目录配置整批,使用您需要传递的任何选项进行配置:
../gcc-4.6.0/configure --prefix=/foo/bar --enable-languages=c,c++,ada
构建,等待,安装(你可能想在这里使用 make -j4 左右来并行获取一些构建,因为它需要一段时间):
make -j4 ; make install
将目标添加到您的路径(如果它还没有)(如果这是在 /etc/ld.so.conf 中指定的目标之外,可能是lib目录,如 make install 步骤中有关安装库的消息中所述),并且所有内容都应该启动并运行这个新版本 .
一旦你打开一个新的shell,你可能需要检查一下你是否正在使用这个已安装的版本:
`which gcc`
和
`which as`
..以及该版本与您期望的一样:
`gcc --version`
和
`as --version`
..以及(当然)测试已安装的版本使用一些简单的示例构建可执行文件,然后再放宽代码库:)
编辑:下面的注释包含一些已知可以协同工作的版本集 . 并非所有组合都有效,因此您可能需要对所提到的不同组合进行一些试验和错误!
很久以后编辑:gdb也可以包含在这个版本中(再次需要兼容的组件版本 - 请参阅注释) . 以类似的方式在binutils之后添加这个作为最后一件事,使用 for f in ../gdb-8.1.1/* ; do ln -s "${f}" ; done 并且构建将自动拾取它 .