今天的 Ubuntu 22.04 更新似乎破坏了 Clang 编译器

今天的 Ubuntu 22.04 更新似乎破坏了 Clang 编译器

在我的 Ubuntu 22.04 机器上安装今天的更新后,使用 Clang 编译失败。找不到标准头文件。例如,evaluate.cpp:19:10:致命错误:未找到“算法”文件,使用两个支持 Clang 编译的不同应用程序(例如https://github.com/official-stockfish/Stockfish)和两台不同的机器进行了测试。

编辑:稍后会查看更新历史记录(现在没时间),但在更新时,我看到正在安装/更新包“cpp-12”。这可能是 gcc-12,也许它混合了一些 Clang 也使用的头文件。只是猜测……

编辑2:同时,我删除了 cpp-12(也删除了 nvidia-dkms 包),但没有成功。Clang 仍然找不到标准标头。

编辑3:安装 g++-12 就可以了。Clang 编译再次有效。

答案1

安装 g++-12,进而安装 libstdc++-12-dev,似乎可以解决该问题。

clang-14 依赖于 libgcc-11-dev 和 libstdc++-11-dev,所以不确定为什么它会起作用。

答案2

我没有找到 Stack Exchange 关于交叉发布答案的政策(有一点这里),但我写的是这个答案在这里这实际上是对问题的直接回答。我不会复制粘贴它,因为我可能会编辑它,而且我不想在两个不同的地方进行编辑。

答案3

删除 gcc-12 和 cpp-12,然​​后使用 autoremove 有帮助。不过,这并不是真正的解决方案。

相关内容