当我在终端中输入以下命令时:
gcc --version
它的输出类似如下内容:
gcc (Ubuntu 6.5.0-2ubuntu1~18.04) 6.5.0 20181026
...
但是当我输入以下命令来查看已安装的 gcc 包的版本时:
apt-cache show gcc | grep Version
我看到的是:
Version: 4:7.4.0-1ubuntu2.2
Version: 4:7.3.0-3ubuntu2.1
Version: 4:7.3.0-3ubuntu2
这正常吗?
需要 gcc 的软件使用哪个版本?
答案1
您的 Ubuntu(18.04、18.10 或 19.04)上安装了 gcc,以及 gcc-6 和可能的其他 gcc 版本。虽然安装了 gcc,但 gcc-6 目前是 gcc 的默认版本。要显示您的操作系统上安装的所有 gcc 版本,请运行以下命令:
apt policy gcc gcc-5 gcc-6 gcc-7 gcc-8 gcc-9
从上述命令的结果可以看出,Ubuntu 默认存储库中有多个不同的 gcc 替代版本,并且可以同时安装多个版本的 gcc。如果安装了多个版本,您可以按照中的说明选择使用哪个版本的 gcc如何使用 gcc 的多个实例?。
答案2
/usr/bin/gcc
gcc
通常是一个符号链接,它通常指向系统的默认当前版本- 在你的情况下似乎是gcc-7.4.0
如果链接指向不同的版本,那可能是因为它已使用ln
或通过update-alternatives
系统手动链接。
软件在运行时并不“需要” gcc
- 因此它只会影响从源代码构建软件时所使用的编译器版本。