Windows编译skia

Windows里下载和编译skia,主要还是参考skia官方文档:
how to download: https://skia.org/user/download
how to buid: https://skia.org/user/build
当然,由于网络的原因,上面2个网址也都是需要间接访问的。

下载:

2个git repo:
1)一个源码,下载完了还要执行python2下载external库;
2)一个depot_tools,下载完了需要加入环境变量。


depot_tools目录加入环境变量

(ninja不需要单独下载,ninja.exe已经包含在depot_tools里了。)

软件方面,

1)要安装python2,而不是python3
2)skia反复强调了用clang编译,那么要安装clang编译器,在C:\Program Files\LLVM

参考

然后参考了 https://www.jianshu.com/p/4225f4342d18 (以下简称“引文”)

但有几个不一样的地方:
1)skia/bin不需要加入环境变量
使用的时候,在skia根目录下,把bin目录名带着,以bin/gn的形式运行。这样与官方文档更一致。
2)参数也不一样,见下文

参数

2)引文里没有说明,很多库在Windows下应该用skia自带的代码编译。
skia_use_system_libpng=false skia_use_system_libjpeg_turbo=false skia_use_system_zlib=false skia_use_system_harfbuzz=false skia_use_system_icu=false skia_use_system_libwebp=false skia_use_system_expat=false
见https://stackoverflow.com/a/57627556/10838321

最后,完整的gn命令如下:

bin\gn gen out/Static --args="is_debug=false is_official_build=true skia_use_system_libpng=false 
skia_use_system_libjpeg_turbo=false skia_use_system_zlib=false skia_use_system_harfbuzz=false 
skia_use_system_icu=false skia_use_system_libwebp=false skia_use_system_expat=false
clang_win=\"C:\Program Files\LLVM""

注意clang_win=\"C:中的引号前面的\,否则是无法识别“引号中的引号”的。

clang影响lib大小

最后:ninja -C out/Static倒没有想象中编译那么久。
以上配置,不使用clang(我电脑上默认的是vs2019),编译出来的skia.lib=63M;使用clang, skia.lib=36M

你可能感兴趣的:(Windows编译skia)