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

Windows下编译Skia出现x64与x86机器类型冲突错误如何解决

问题原因

该错误属于架构不匹配问题:你在gn参数中指定了生成64位(x64)的Skia库,但构建过程中调用的链接器加载了32位(x86)版本的MSVC标准库,两者架构冲突导致链接失败。
具体触发点有两个:

  1. Visual Studio 2019自带的Clang工具集根目录下的bin文件夹默认存放的是32位的clang、lld-link程序,你配置的clang_win参数指向了Llvm根目录,构建工具调用了32位的链接器
  2. 你执行构建命令的终端如果是默认的32位VS开发者命令提示符,环境变量中的标准库搜索路径默认指向32位库目录,进一步导致链接器加载了错误架构的标准库
解决步骤
  • 先删除之前生成的错误构建目录out/Shared,避免旧配置缓存影响新构建
  • 确认你使用的是x64 本机VS 2019开发者命令提示符执行后续操作,不要使用默认的32位版本终端
  • 修改gn配置命令中的clang_win参数,将路径指向64位Clang的根目录,即在原路径末尾添加\x64,修改后的完整配置命令如下:
bin/gn gen out/Shared --args='clang_win="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\Llvm\x64" is_component_build=true is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false skia_use_system_icu=false skia_use_system_harfbuzz=false target_cpu="x64"'
  • 配置完成后,重新执行ninja -C out/Shared命令即可正常构建。
    如果你的Visual Studio安装在非默认路径,对应调整clang_win的参数值到你的VS安装路径下的VC\Tools\Llvm\x64目录即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:15:04