Skia是Google一个底层的图形、文本、图像、动画等多方面的2D图形库。官方网站https://skia.org/
Skia编译真是特立独行,环境搭建使用Python2,配置使用Gn,编译使用Ninja。以下需要科学上网。
1.安装python环境2.x版本
https://www.python.org/downloads/release/python-2715/
2.skia使用ninja构建工具构建
下载编译工具,配置环境变量(将depot_tools目录加入到Path中)。
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
3.下载skia.
此处需要指定一下版本,skia版本太多了,个人建议用m68
git clone https://github.com/google/skia -b chrome/m68
4.下载第三方库
进入源码目录后使用python脚本更新工具
python tools/git-sync-deps
5.编译
可选参数请参考文件skia/BUILD.gn
gn gen out/Shared --args="is_debug=false"
ninja -C out/Shared
gn gen out/Static --args="is_debug=false is_official_build=true skia_use_system_libpng=false skia_use_system_zlib=false skia_use_expat = false skia_use_libjpeg_turbo=false skia_use_libwebp=false extra_cflags=["/MD"]
*Shared/Static 看起来是个名字,其实是个参数,指定了是动态还是静态库
*is_debug。这个选项值可以为true或者false。当为true时编译debug版本,false时编译release版本。
*is_component_build。这个选项值可以为true或者false。当为true时编译动态库(MD),false时编译静态库(MT)。
如果需要编译MD的静态库,加入extra_cflags=["/MD"] 即可
*is_official_build。这个选项值可以为true或者false。当为true时编译第三方库,false时不编译第三方库
*skia_use_foo 的作用,是第三方库的编译开关,skia_use_foo 会覆盖skia_use_system_foo
网友评论