如何编译和运行GCC 4.9.x?

时间:2014-04-26 14:08:21

标签: gcc gcc4.9

我正在运行debian wheezy并希望从GCC 4.7.2升级到GCC 4.9.0。

根据these instructions,我安装了libgmp-devlibmpfr-devlibmpc-dev(我的包经理给了我版本2:5.0.5 + dfsg-2,1.1.0-分别为5和0.9-4)并运行以下代码来编译gcc(请注意,在我的情况下,它是4.9.0而不是4.6.2):

tar xzf gcc-4.6.2.tar.gz
cd gcc-4.6.2
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2 
make
make install

我现在有一个objdir目录,但是g ++在哪里,我应该把这个目录放在哪里?

我猜我应该将其移至usr/local并向我的PATH变量添加内容,但我不知道到底是什么,以及如何确保在我的旧gcc之前搜索它安装。

1 个答案:

答案 0 :(得分:7)

执行这些命令后(注意配置的--prefix选项)

$PWD/../gcc-4.9.0/configure --prefix=$HOME/gcc-4.9.0 
make install

新的gcc将安装在$HOME/gcc-4.9.0目录中(其中应包含binlibshare等子目录。

gcc的完整路径为$HOME/gcc-4.9.0/bin/gccg++(符号链接为gcc)的路径为:$HOME/gcc-4.9.0/bin/g++

objdir中没有单独的g++,因为gcc编译器驱动程序实现了多种语言的驱动程序;模式(C或C ++)是基于argv[0](二进制名称,用于运行驱动程序:gccg++;此模式也影响链接标志)和源代码选择的文件扩展名(gcc接受C和C ++程序作为编译到目标文件的输入)。因此,g++可以通过make install生成符号链接,并且存储生成的符号链接的位置为$prefix/bin

在构建GCC并将其安装到$HOME/gcc-4.9.0目录后,您可以使用它;但默认系统gcc将不会更新。分配gcc的更新应该通过分配工具(aptdpkg-build等)完成。 Wheezy的系统级gcc的当前预建版本为4.7.2,Jessie和Sid为4.8.2,“实验”为4.9-2