在 Ubuntu 22.04 上,默认的 GNU C 编译器版本是 gcc-11。然而,最新的默认内核版本(撰写此问题时为 6.5.0-14-generic)似乎是使用 gcc-12 构建的。为什么会这样呢?感觉它可能会导致与混合编译器相关的问题,并且已经让我对内核模块和 dkms 感到头痛。
在 Ubuntu 22.04 上,默认的 GNU C 编译器版本是 gcc-11。然而,最新的默认内核版本(撰写此问题时为 6.5.0-14-generic)似乎是使用 gcc-12 构建的。为什么会这样呢?感觉它可能会导致与混合编译器相关的问题,并且已经让我对内核模块和 dkms 感到头痛。
注意: 6.5 内核报告正在构建
x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04)
,这应该没问题。这是因为在安装过程中内核并未构建在您的系统上。有关更多信息,请参阅https://askubuntu.com/a/1171939/231142 。在任何构建过程中,它可能会向您发出有关与已安装版本不匹配的警告,因为它们的名称不同。安装的版本报告为gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04)
gcc-12
应该已经安装,但如果没有安装,您可以通过运行以下命令来安装或重新安装:然后您所要做的就是更新链接以
gcc
转到gcc-12
二进制文件:您也可以通过执行以下操作将其设置回 11:
您可以通过运行来检查它
gcc --version
。