0

是否可以在 unix 系统上安装多个 gcc 版本?如果是,如何找到安装了哪些所有版本?另外,是否可以在运行时指定使用哪个 gcc 版本?

4

2 回答 2

2

是的,安装多个版本的 gcc 是很常见的,通常命名为gcc- version。例如,在我的机器上,我有gcc-4.4gcc-4.5gcc-4.6。您通常可以通过键入来查看已安装的版本gcc-tab-- 使用 shell 的自动完成功能来告诉您哪些版本可用。

于 2013-10-28T04:55:25.020 回答
2

这是适用于 Linux 的一步一步,并且可能适用于 unix。

首先验证您有gcc可用的:

greg@greg-mint ~ $ gcc
gcc: fatal error: no input files
compilation terminated.

是的。不喜欢我没有提供任何编译的事实。

如果你得到类似的东西no command gcc foundcommand or file not recognised: gcc那么你可能会遇到问题。

现在,找到它在哪里gcc

greg@greg-mint ~ $ which gcc
/usr/bin/gcc

伟大的。它在,/usr/bin/gcc但这并没有告诉我们有关替代版本的信息。

让我们来了解一下:

greg@greg-mint ~ $ ls -l /usr/bin/gcc
lrwxrwxrwx 1 root root 7 Mar 28  2013 /usr/bin/gcc -> gcc-4.7

在我的机器(Linux Mint)上,它显示了一个符号链接。这意味着当我运行gcc命令时它正在运行/usr/bin/gcc-4.7

好的。我猜它通常在 中/usr/bin,所以,让我们看看是否还有其他:

greg@greg-mint ~ $ ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root       7 Mar 28  2013 /usr/bin/gcc -> gcc-4.7
-rwxr-xr-x 1 root root  275952 Jul  3  2012 /usr/bin/gcc-4.5
-rwxr-xr-x 1 root root  578808 Sep 22  2012 /usr/bin/gcc-4.7
-rwxr-xr-x 1 root root   22832 Sep 22  2012 /usr/bin/gcc-ar-4.7
-rwxr-xr-x 1 root root   22832 Sep 22  2012 /usr/bin/gcc-nm-4.7
-rwxr-xr-x 1 root root   22832 Sep 22  2012 /usr/bin/gcc-ranlib-4.7
-rwxr-xr-x 1 root root  220968 Oct  9  2012 /usr/bin/gccxml
-rwxr-xr-x 1 root root 8606464 Oct  9  2012 /usr/bin/gccxml_cc1plus

所以事实证明我的机器上有 gcc 版本 4.7 和 4.5。我不知道其他的是什么。

您可以通过发送完整路径来指定版本号:

greg@greg-mint ~ $ gcc --version
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 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.

greg@greg-mint ~ $ /usr/bin/gcc-4.5 --version
gcc-4.5 (Ubuntu/Linaro 4.5.4-1ubuntu2) 4.5.4
Copyright (C) 2010 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.

greg@greg-mint ~ $ /usr/bin/gcc-4.7 --version
gcc-4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 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.

另一种方法,我建议您要这样做,是使用find. (请注意:在共享机器上,这不一定是礼貌)。

find / -name "gcc*"

这将在您的机器上查找所有以 gcc 开头的文件。它将扫描整个磁盘,因此需要一段时间,并且您将影响系统上所有其他用户的性能(鉴于您已经说过“unix”和“大学服务器”可能会产生影响)。

于 2013-10-28T05:25:35.570 回答