在 Apple Silicon 上构建 lld

Building lld on Apple Silicon

我正在尝试从 LLVM 版本 11 构建 lld(我暂时不能使用任何更高版本或主版本的 LLVM)并且当前正在使用 cmake ~/Downloads/lld-11.0.0.src/ -DCMAKE_INSTALL_PREFIX=$HOME/bin/llvm -DCMAKE_PREFIX_PATH=$HOME/bin/llvm -DCMAKE_BUILD_TYPE=Release -G Ninja 配置,但是 ninja install然后失败并出现 20 个错误,我 认为 都是与标准库相关的(例如“未知类型名称 'constexpr'”和“名称空间 [= 中没有名为 'underlying_type_t' 的模板” 20=];你是说 'underlying_type'?”)。

cmake 默认使用的编译器是 Apple Clang 12,它是我的系统自带的(或自动安装的)。我应该将哪些其他标志传递给 cmake 才能使其正常工作?或者我需要使用不同的编译器吗? LLVM 11 使用相同的 cmake 标志配置和构建良好。

对于遇到类似问题的任何其他人:从 monorepo 中构建 LLVM、lld 和 clang 一次就成功了。我必须将 -DLLVM_ENABLE_PROJECTS="clang;lld" 添加到 cmake 命令中。