如何在 Windows 上编译skia

Posted

技术标签:

【中文标题】如何在 Windows 上编译skia【英文标题】:How to compile skia on Windows 【发布时间】:2018-05-08 07:54:31 【问题描述】:

我尝试按照https://skia.org/user/build 中的建议在 Windows 上编译skia

1> bin/gn gen out/Static --args='is_official_build=true'

2>ninja -C out/Static

构建找不到libjpeg.h、libpng.h

然后我在 gn args 中添加了以下行

extra_cflags = ["-I ../../third_party/externals/libpng/", "-I ../../third_party/externals/libjpeg-turbo/"]

仍然无法找到两个标头。

但重点是我不应该传递包含路径,因为如果 JPEG/PNG 是skia 的核心部分,它应该在内部处理。

如何在 Windows 上构建它?

【问题讨论】:

请大家帮忙.. 这可能会有所帮助:github.com/mono/SkiaSharp/wiki/Building-on-Linux,然后专门针对 Windows:github.com/mono/SkiaSharp/blob/… 可能最重要的是要取出skia_use_system_libjpeg_turbo=false 和其他类似的东西。 Windows 没有系统 libjpeg 库,因此您必须使用内部库(或在其他地方管理) @Matthew 谢谢,我可以用你的提示编译skia。 【参考方案1】:

我在这里做的:

bin/gn gen out/Static --args='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'

在 windows 10 x64 下

【讨论】:

【参考方案2】:

我可以使用以下参数在 Windows 上编译skia

gn gen out/Static --args='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,还是您打算使用SkiaSharp?

以上是关于如何在 Windows 上编译skia的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上编译它

如何在 Windows 上编译 libevent2?

如何在 Windows 上编译 64 位版本的 ffmpeg?

如何让 Assetic 在 Windows 上的 Zend Framework 上编译 SCSS?

如何在windows上编译Tesseract OCR

如何在windows上编译Tesseract OCR