我已经安装了 gcc 4.6.3:
gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
我已经安装了新版本:
apt-get install gcc-4.7
但当我输入时,仍然得到结果“gcc 4.6.3” gcc --version
。如何修复它?
我正在使用 ubuntu 12.04,并且已经完成
sudo apt-get update
sudo apt-get upgrade
答案1
这是因为您安装了两个版本,其中 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
答案2
如果您要安装旧版本的 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
希望这可以澄清上述问题。
答案3
请遵循以下说明:构建 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
位于 之前/usr/bin
。