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

Windows环境下使用Visual Studio编译LLVM Pass失败问题求助

Windows下Visual Studio编译LLVM Pass链接错误解决方法

你遇到的链接错误核心是LLVM编译配置、Pass项目编译配置两者不匹配导致的符号兼容性问题,可按以下步骤排查修复:

  • 重新编译你本地的LLVM,在原有cmake命令基础上新增Pass开发必须的配置项:-DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON,同时显式指定构建类型-DCMAKE_BUILD_TYPE=Release,保证编译使用的运行时库一致,完整cmake命令参考:
cmake -S llvm -B build -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_USE_LINKER=lld -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_INSTALL_PREFIX="C:\llvm" -DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON -DCMAKE_BUILD_TYPE=Release -Thost=x64

重新运行INSTALL项目完成LLVM安装。

  • 编译LLVM Pass项目时,cmake命令要对齐LLVM的编译配置,显式指定使用LLVM自带的clang-cl作为编译器,避免MSVC和clang-cl的符号规则不兼容,完整cmake命令参考:
cmake -B build -DLLVM_DIR=C:\llvm\lib\cmake\llvm -DCMAKE_C_COMPILER=C:/llvm/bin/clang-cl.exe -DCMAKE_CXX_COMPILER=C:/llvm/bin/clang-cl.exe -DCMAKE_BUILD_TYPE=Release -Thost=x64
  • 打开生成的Pass解决方案后,先确认项目的目标平台为x64,和LLVM编译的目标架构保持一致,再运行BUILD_ALL项目即可正常完成编译。
  • 若仍有零星链接错误,可打开对应Pass项目的属性页,在「链接器→输入→附加依赖项」中手动添加缺失的LLVM库,如LLVMCore.lib、LLVMPasses.lib、LLVMTransformUtils.lib等,对应库均位于C:\llvm\lib路径下。

编译完成后可通过opt命令加载生成的Pass dll验证功能是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:27:04