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

MacOS arm64平台Skia Viewer编译链接失败问题求助

问题分析

链接错误源于你禁用了libjpeg-turbo的编解码功能,但Viewer依赖的SVG模块、GM测试代码需要调用JPEG编解码接口,当前配置下这些接口的实现未被编译,导致符号缺失。

解决方案

方案一:启用libjpeg-turbo(推荐)

Skia默认依赖libjpeg-turbo处理JPEG,移除禁用参数即可让相关符号正常编译:

# 重新生成构建配置
bin/gn gen out/release --args="is_official_build=false extra_cflags_cc=[\"-frtti\"] target_cpu=\"arm64\""
# 清理旧构建文件并重新编译
ninja -C out/release clean
ninja -C out/release skia
ninja -C out/release viewer

方案二:保留禁用libjpeg-turbo,启用Skia内置JPEG编解码

若不想使用libjpeg-turbo,需显式开启Skia自带的JPEG编解码实现:

# 重新生成构建配置
bin/gn gen out/release --args="is_official_build=false skia_use_libjpeg_turbo_decode=false skia_use_libjpeg_turbo_encode=false skia_enable_jpeg_decode=true skia_enable_jpeg_encode=true extra_cflags_cc=[\"-frtti\"] target_cpu=\"arm64\""
# 清理旧构建文件并重新编译
ninja -C out/release clean
ninja -C out/release skia
ninja -C out/release viewer

方案三:跳过GM测试(无需Viewer包含测试功能时使用)

错误中的大量符号引用来自GM测试代码,添加参数跳过GM编译可规避问题:

# 重新生成构建配置
bin/gn gen out/release --args="is_official_build=false skia_use_libjpeg_turbo_decode=false skia_use_libjpeg_turbo_encode=false skia_skip_gms=true extra_cflags_cc=[\"-frtti\"] target_cpu=\"arm64\""
# 清理旧构建文件并重新编译
ninja -C out/release clean
ninja -C out/release skia
ninja -C out/release viewer

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 09:01:09