You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何加快LLVM项目编译速度?仅需编译X86架构无需Windows平台支持

LLVM编译提速解决方案

1. 裁剪编译目标(规避无关架构与平台内容)

  • 仅编译X86架构目标:添加CMake参数-DLLVM_TARGETS_TO_BUILD="X86",LLVM默认会编译所有支持的CPU架构,该参数可以砍掉绝大多数架构相关的编译工作量。
  • 禁用Windows平台相关组件:添加参数-DLLVM_SUPPORT_WINDOWS_MANIFEST=OFF,即可停止编译你看到的libLLVMWindowsManifest.a相关代码。
  • 关闭非必要的测试、示例编译:添加参数-DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF,这类代码默认开启,不需要的话可以直接禁用。

2. 切换为Ninja构建工具(构建效率提升最显著)

Xcode生成器的并行编译效率远低于Ninja,按以下步骤切换:

  • 先安装Ninja,macOS环境可直接执行brew install ninja完成安装。
  • 清空原有build目录后,重新执行CMake生成配置:
cmake -S llvm -B build -G Ninja \
-DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" \
-DLLVM_TARGETS_TO_BUILD="X86" \
-DLLVM_SUPPORT_WINDOWS_MANIFEST=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release
  • 执行编译时启动满核心并行:运行ninja -j$(sysctl -n hw.ncpu),会自动匹配当前设备的CPU核心数开启并行编译,比Xcode默认构建效率高30%以上。

3. 额外可选裁剪配置

如果仅需要基础的clang编译能力,可以添加以下参数进一步裁剪:

  • -DCLANG_ENABLE_ARCMT=OFF:关闭ARC迁移工具编译
  • -DCLANG_ENABLE_STATIC_ANALYZER=OFF:关闭clang静态分析器编译
  • -DLLVM_ENABLE_BACKTRACES=OFF:关闭异常栈回溯支持(不需要调试LLVM自身的话可以开启)
  • 不需要调试符号时将CMAKE_BUILD_TYPE设为Release,比Debug构建速度快2倍以上,产物体积也更小。

内容的提问来源于stack exchange,提问作者DNG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:15:04