在我的 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
答案3
删除 gcc-12 和 cpp-12,然后使用 autoremove 有帮助。不过,这并不是真正的解决方案。