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

Windows编译Vengi Voxel遇LNK1104:缺失clang_rt.asan_static_runtime_thunk-x86_64.lib

解决LINK错误LNK1104:找不到clang_rt.asan_static_runtime_thunk-x86_64.lib

核心结论

clang_rt.asan_static_runtime_thunk-x86_64.lib 和你找到的 clang_rt.asan_static-x86_64.lib 不通用:

  • 前者是AddressSanitizer(ASAN)专为MSVC编译环境提供的静态运行时转接库,负责衔接Clang的ASAN逻辑与MSVC运行时;
  • 后者是Clang编译器自身的ASAN静态库,仅适用于纯Clang编译场景,无法直接替换前者用于MSVC链接过程。

获取及解决方法

1. 重新安装匹配版本的LLVM

确保安装的LLVM版本与VS2022、CMake版本兼容(建议使用LLVM 14.0+稳定版),且安装时勾选完整组件或明确选中对应ASAN组件:

  • 运行LLVM安装包,在“Select Components”步骤中展开“Runtime Libraries”,勾选“AddressSanitizer for MSVC”;
  • 安装完成后,检查C:\Program Files\LLVM\lib\clang\<版本号>\lib\windows目录下是否存在clang_rt.asan_static_runtime_thunk-x86_64.lib。

2. 调整CMake编译配置

如果不需要ASAN功能,可直接关闭该选项绕过问题:

cmake -S . -B build -G Ninja -DENABLE_ASAN=OFF

若必须启用ASAN,需显式指定LLVM路径,确保CMake能定位到正确的库文件:

cmake -S . -B build -G Ninja -DENABLE_ASAN=ON -DLLVM_DIR="C:/Program Files/LLVM/lib/cmake/LLVM"

3. 从LLVM源码编译生成库文件

若官方安装包未包含目标库,可自行编译LLVM源码:

  • 克隆LLVM项目仓库,切换至对应稳定版本分支;
  • 用CMake配置编译选项,开启LLVM_ENABLE_PROJECTS="clang"和COMPILER_RT_BUILD_ASAN=ON,并指定针对MSVC环境编译;
  • 编译完成后,从build\lib\clang\<版本号>\lib\windows目录中提取目标库文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:58:31