【问题标题】:how to set default g++? [closed]如何设置默认g++? [关闭]
【发布时间】:2013-01-18 14:00:59
【问题描述】:

我的主机已经安装了 c++11 和 g++ 4.7.2(我被告知),但我们无法弄清楚如何将 4.7.2 设置为默认值,因为 g++ --version 仍然说我是 4.1.2 .

Stack 告诉我,如果没有 cc1plus: error: unrecognized command line option "-std=c++11" with g++,我就不能 sort multidimensional vector of ints?,但我遇到的所有设置默认值的答案似乎都不起作用。

CentOS 5.9

我使用的是 CentOS 5.9,我不知道这是否是问题所在,但我尝试了 How to change version of g++ compiler from 4.1.2 to 4.5? 中的 g++-4.7g++-4.7.2,但 SSH 显示 sudo: apt-get: command not found-bash: g++-4.7: command not found 对于两者(@987654332 @ 为 .2)。如果我在-4.7 前面加了一个空格,则表示g++: unrecognized option '-4.7'

我尝试了我上次 c++ q here 的 A 中建议的解决方案,命令执行没有错误,但没有返回任何内容,g++ --version 仍然给出:

g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

GCC?

我在很多链接上都看到过这与 g++ 相关联,但我什至不知道它是什么,而且我不敢尝试this 以免破坏我的系统。

我的主人说这是他们支持的极限,所以我完全靠自己。另外,请理解我一两周前才开始使用C++,对linux一无所知。

请帮忙!非常感谢!

【问题讨论】:

  • 试试旧的find / -name g++\*
  • @HristoIliev 谢谢!我这样做了,它显示了 2 个文件:/usr/share/man/man1/g++.1.gz/usr/bin/g++
  • 那么您的系统上找不到 GCC 4.7.2。也许你被告知错了。
  • @HristoIliev 是的,刚刚发现。 admin 只是使用了默认的yum,即使使用最新的 centos rpm,它也只会安装 4.1.2。现在,我被困在这个unix.stackexchange.com/questions/63587/… 谢谢你的帮助!

标签: c++ g++ version default


【解决方案1】:

当您有多个提供类似功能的应用程序时,选择首选应用程序的官方机制是update-alternatives

试试这个:

 sudo update-alternatives --config g++

如果您安装了多个版本的 gcc,它将为您提供将其中一个设为默认版本的选项。

有时,没有安装替代品 - 可能是软件包维护者遗漏了。您可以通过手动安装来修复它,如下所示:

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 20

或者,您可以从~/bin 直接创建指向所需g++/gcc 的符号链接,并将$HOME/bin 添加到PATH 的开头。在this answer 中查看更多详细信息。

【讨论】:

  • 谢谢!其他人建议,我试过了,但它看起来就像它执行没有错误,什么都不打印,并返回到命令行
  • 有时没有安装替代品。我已经用如何修复它的信息更新了我的答案。使用本地符号链接还有第三种方法(不理会系统 gcc)。
  • 你认为是因为我使用的是 CentOS 5.9 吗?两个命令都不起作用。你知道如何检查 g++ 4.7.2 是否真正安装(不仅仅是在路径中或g++ --version 的任何地方)?
  • rpm -qa | grep g++。作为最后的手段,使用this approach 肯定会工作
  • 我刚刚发现 CentOS 使用 yum 而不是 sudo。你碰巧知道替代命令是什么吗?非常感谢您对此提供的所有帮助!
猜你喜欢
  • 2016-12-22
  • 2020-07-01
  • 1970-01-01
  • 2019-04-16
  • 2014-07-09
  • 2013-05-24
  • 2011-03-07
  • 2012-02-25
  • 1970-01-01
相关资源
最近更新 更多