在12.04上安装gcc4.7时,GCC不会从4.6切换到4.7

时间:2012-04-03 01:02:59

标签: linux gcc ubuntu g++

我目前安装了gcc4.7和gcc4.7-base等软件包但是当我打电话时GCC似乎仍然使用4.6

gcc --version

如果我现在真的需要它,我可以编译源代码,但我计划转换一些旧代码以获得C ++ 11的乐趣。如果有人对如何从4.6切换到4.7有任何建议,请告诉。

我从这里跟着指南:

https://askubuntu.com/questions/113291/installing-gcc-4-7

修改:修复了问题,更新了/usr/bin/gcc-4.7

的链接

3 个答案:

答案 0 :(得分:2)

尝试运行以下内容以查看gcc的位置:

ls -l `which gcc`

我说你可能需要做的几件事就是更新链接(但是我再也无法检查,因为我现在还没有启动进入Linux)

答案 1 :(得分:1)

您可以将CC环境变量设置为/usr/bin/gcc-4.7或其他任何内容。或者,您的构建系统可能有不同的方式来选择要使用的编译器。

答案 2 :(得分:0)

很可能很多为gcc 4.6编译的程序可能不适用于gcc 4.7。因此你必须保持两者并同时使gcc4.7的链接根据情况而变化。您可以将gcc文件编辑为shell脚本:

#!/bin/sh
if [ -n "$GCC_SIX" ]; 
then
  exec /usr/bin/gcc-4.6 "$@"
else
  exec /usr/bin/gcc-4.7 "$@"
fi

现在,每当你发现一个程序没有在gcc4.7上运行时,只需添加一个新的环境变量,你就已经切换到gcc4.6来进行当前的执行。请注意,对于多用户系统,这可以证明可以节省生命。