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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容