C++ 安装多个版本的g++;(或通用条款)

C++ 安装多个版本的g++;(或通用条款),c++,linux,gcc,C++,Linux,Gcc,我想知道是否有可能在同一台机器上安装多个版本的g++而没有任何问题 我在工作中使用了几乎最新的gcc(4.6.1)。现在我的学习,我的老师给了我们一个不完整的项目来完成,他说我们应该安装gcc 3.4.3 请注意,我已经读过这篇文章:但我不知道我应该设置什么路径 此外,我希望两个版本都使用eclipse。因此,我可能也需要一些关于设置的指导 非常感谢您在bash中,您可以执行以下两个脚本: 第一个: export PATH=/path/to/your/3.4.3/bin:$PATH eclips

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

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

请注意,我已经读过这篇文章:但我不知道我应该设置什么路径

此外,我希望两个版本都使用eclipse。因此,我可能也需要一些关于设置的指导


非常感谢您

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

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

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

顺便说一句:
你可以和你的教授达成一个协议,讨论他希望使用的C++标准(以及哪些库),而不是编译代码时应该使用的过时版本。

在BASH中,你可以做两个这样的脚本: 第一个:

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

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

顺便说一句:
你可以和你的教授达成一个协议,关于C++的标准是他希望你使用什么(以及什么库),而不是你应该用什么过时的编译器来编译你的代码。

< P>如果你使用了一些Linux发行版,你可以安装几个版本的GCC;例如,在Debian或Ubuntu上,您可以同时安装
gcc-4.6
gcc-4.7
(具体版本取决于实际发行版)

请注意,GCC 3.4.3是编译器的一个非常古老的版本(已于年发布)。在您的计算机上安装如此古老的GCC版本可能会有困难。还要注意,最近的GCC(最新版本是4.7)提供了比旧版本更好的警告、优化和标准一致性

当然,您不需要eclipse来使用GCC。您可以使用一些普通编辑器,如
gedit
emacs
,并在命令行(如果只有一个文件)上编译,或使用构建器,如
make

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

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


我给出的提示可能与您有关。

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

请注意,GCC 3.4.3是编译器的一个非常古老的版本(已于年发布)。在您的计算机上安装如此古老的GCC版本可能会有困难。还要注意,最近的GCC(最新版本是4.7)提供了比旧版本更好的警告、优化和标准一致性

当然,您不需要eclipse来使用GCC。您可以使用一些普通编辑器,如
gedit
emacs
,并在命令行(如果只有一个文件)上编译,或使用构建器,如
make

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

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


我给出的提示可能与您有关。

您将路径设置为包含您希望使用的GCC版本的安装目录。这应该在很大程度上解决问题。顺便说一句,gcc-3.4.3非常旧,如果您的项目依赖它,那么它可能是以非标准方式编写的(比如它可能会使用不推荐的头文件,如
iostreamh.h
和buddies)。您可以将路径设置为包含您希望使用的一个gcc版本的安装目录。这应该在很大程度上解决问题。顺便说一句,gcc-3.4.3非常陈旧,如果您的项目依赖它,那么它可能是以非标准方式编写的(比如它可能使用不推荐的头,如
iostreamh.h
和buddies)。谢谢dud。教授是够不着的:)所以我将在一个单独的目录中安装旧的gcc。只是想检查一下:如果我使用.deb包来安装旧的gcc,它会安装在默认位置9并与我当前的gcc发生冲突)还是可以安装在当前目录中?您可能无法成功安装和使用这样一个旧的gcc。它依赖于非常旧的Libc版本等等…@BasileStarynkevitch是的,我开始尝试它了。。。。我想我想听听你们的意见,并尝试修复代码本身。不要浪费时间在系统上移植GCC 3.4.3。和你的教授谈谈,他可能会接受最近的GCC编译的一些代码。。。。将GCC 3.4.3移植到您的系统可能需要数周的无用工作,……我同意这是浪费时间。为了便于讨论,我尝试用最近的gcc(4.6.3)构建3.4.3,但失败了。谢谢dud。教授是够不着的:)所以我将在一个单独的目录中安装旧的gcc。只是想检查一下:如果我使用一个.deb包来安装旧的gcc,它会安装在默认位置9并与我当前的gcc发生冲突)还是可以安装在当前的目录中