Answers:
这是因为您同时安装了两个版本,而4.6被视为默认版本。
您可以明确选择使用哪个。
$ gcc-4.7 --version
gcc-4.7 (Ubuntu/Linaro 4.7.2-22ubuntu4) 4.7.2
[...]
$ gcc-4.6 --version
gcc-4.6 (Ubuntu/Linaro 4.6.3-15ubuntu3) 4.6.3
[...]
gcc-4.7
默认的最简单方法gcc
是移动以下符号链接/usr/bin/gcc
:
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
gcc-4.7
其设置为默认值gcc
,还是想轻松地gcc
在gcc-4.6
和之间切换gcc-4.7
?
如果要安装旧版本的gcc,请直接从命令行安装。例如,如果要安装gcc-4.4.6,最新可用版本是4.7.3。如果输入:
sudo apt-get install gcc
然后默认情况下将安装最新版本。要安装gcc-4.4.6,只需键入:
sudo apt-get install gcc-4.4
但是您的默认编译器仍然是最新的gcc。删除最新的gcc作为默认类型:
sudo rm /usr/bin/gcc
现在将gcc-4.4.6设置为默认编译器(这是用gcc-4.4.x替换gcc),键入:
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
希望这可以澄清上述问题。
请按照以下说明进行操作:构建gcc(此处:版本:4.7.2)
tar -xf gcc-4.7.2.tar.bz2
mkdir gcc-build
cd gcc-build
../gcc-4.7.2/configure --enable-languages=c,c++
make -j 4
make install
make clean (OPTIONAL)
cd ..
目前,gcc的自检不起作用,因此此处省略此步骤。现在,您应该检查是否调用了新的编译器版本4.7.2,而不是调用了用于构建过程的编译器(此处为gcc-4.5.3)。输入以下命令:
gcc --version; g++ --version
新的编译器已安装在中/usr/local/bin
。现在是默认的编译器,因为PATH变量/usr/local/bin
中的before /usr/bin
。