是否可以在unix系统上安装多个gcc版本?如果是,如何找到所有版本的安装?另外,是否可以在运行时指定使用哪个gcc版本?
答案 0 :(得分:1)
是的,安装多个版本的gcc是相当普遍的,通常命名为 gcc - 版本。例如,在我的计算机上,我有gcc-4.4
,gcc-4.5
和gcc-4.6
。您通常可以通过键入gcc-
选项卡来查看已安装的版本 - 使用shell的自动完成功能来告诉您哪些版本可用。
答案 1 :(得分:1)
这是一步一步在Linux上工作,可能在unix上工作。
首先确认您有gcc
可用:
greg@greg-mint ~ $ gcc
gcc: fatal error: no input files
compilation terminated.
是的。不喜欢我没有提供任何编译的事实。
如果您收到no command gcc found
或command 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'和'University服务器'可能会产生影响。)