【问题标题】:install multiple versions of g++(or gcc) [closed]安装多个版本的 g++(或 gcc)[关闭]
【发布时间】:2012-10-24 07:06:06
【问题描述】:

我想知道是否可以在同一台机器上安装多个版本的 g++ 而没有任何问题。

我在工作中使用几乎最新的 gcc (4.6.1)。现在为了我的学习,我的老师给了我们一个不完整的项目来完成,他说我们应该安装 gcc 3.4.3。

请注意,我已经阅读了此内容:Is it possible to install 2 different versions of GCC at the same time?,但我不知道应该设置什么 PATH。

此外,我想在两个版本中都使用 eclipse。所以我可能也需要一些关于该设置的指导。

非常感谢

【问题讨论】:

  • 您将 PATH 设置为包含安装您希望使用的一个 GCC 版本的目录。在大多数情况下,这应该可以解决问题。顺便说一句,gcc-3.4.3 太​​老了,如果你的项目依赖于它,它可能是以非标准方式编写的(比如它可能使用不推荐使用的标题,如 iostreamh.h 和伙伴)。

标签: c++ linux gcc


【解决方案1】:

在 bash 中,您可以执行以下两个脚本: 第一个:

export PATH=/path/to/your/3.4.3/bin:$PATH
eclipse&

export PATH=/path/to/your/4.6.1/bin:$PATH
eclipse&

通过运行其中一个,eclipse 应该使用它在您的路径中找到的第一个 gcc。此外,如果您不运行任何脚本,您的默认 gcc 应该仍然是主要的。

顺便说一句: 您可能可以与您的教授就他希望您使用什么 c++ 标准(以及什么库)达成协议,而不是您应该使用什么过时版本的编译器来编译您的代码。

【讨论】:

  • 谢谢笨蛋。教授遥不可及:) 所以我打算将旧的 gcc 安装在一个单独的目录中。只是想检查一下:如果我使用 .deb 包安装旧的 gcc,它会安装在默认位置 9 并与我当前的 gcc 混淆)还是可以将其安装在当前目录中?
  • 您可能无法成功安装和使用这么旧的 GCC。它依赖于非常旧的 Libc 版本等......
  • @BasileStarynkevitch 是的,我开始尝尝它了……我想我想听听你们的意见并尝试修复代码本身。
  • 不要浪费时间在系统上移植 GCC 3.4.3。和你的教授谈谈,他可能会接受一些由更新的 GCC 编译的代码......将 GCC 3.4.3 移植到你的系统可能需要数周的无用工作,......
  • 我同意这是浪费时间。为了争论,我尝试用最近的 gcc (4.6.3) 构建 3.4.3,结果失败了。
【解决方案2】:

如果您使用的是某些 Linux 发行版,您可以安装多个版本的 GCC;例如在 Debian 或 Ubuntu 上,您可以同时安装 gcc-4.6gcc-4.7(可用的确切版本取决于实际发行版)。

请注意,GCC 3.4.3 是一个非常古老的编译器版本(它已在november 2004 中发布)。您可能无法在您的机器上安装如此古老的 GCC 版本。另请注意,最近的 GCC(最新版本是 4.7)提供了比旧版本更好的警告、优化和标准一致性。

当然,你不需要 eclipse 来使用 GCC。您可以使用像geditemacs 这样的普通编辑器,然后在命令行(如果您只有一个文件)或使用像make 这样的构建器进行编译。

我不会费心在最近的机器上安装 GCC 3.4.3(即过去几年的任何 Linux 发行版),因为你可能会花费一个多星期的时间来安装这么旧的东西,但仍然失败。我会使用那台机器上可用的最新 GCC,总是用-Wall -g 编译并询问(或告诉)我的老师。

还学习使用gdb 调试器和一些版本控制,如git

我给here 的提示可能与你有关。

【讨论】:

    猜你喜欢
    • 2011-12-12
    • 2020-07-03
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多