按照 skia 网站的指导先下载 skia 图形库
https://skia.org/user/download
可能需要翻墙。现在是 2017 年 6 月 17 日,如果离这个日期比较近,可以用这里这个
http://pan.baidu.com/s/1c2nIdiw
使用 python 当前阶段必须是 2.x 版本。
下载完以后,编译时注意这句话
If skia_use_foo
is enabled, enabling skia_use_system_foo
will build and link Skia against the headers and libaries found on the system paths. is_official_build=true
enables allskia_use_system_foo
by default.
它的意思是,如果在 skia_use_foo 设置为 true 的情况下,再将 skia_use_system_foo 设置为 true 的话,skia 将 build 和 link 系统路径下的头文件和库。
is_official_build=true 将设置所有的 skia_use_* 为 true 的选项对象的 skia_use_system_* 选项为 true.
这有时会出现问题。其实 skia 自带了一些第三方库,比如 libwebp,如果想 build 和 link 这些库,而不是系统的,只需要在开启 skia_use_foo 的同时设置 skia_use_system_foo 为 false 就可以了。
一个实际的例子
我们将 skia 库下载到 /Users/peng/skia下,进入该目录,
bin/gn gen out/Shared --args='is_official_build=true is_component_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'
这时在当前路径下生成一个文件夹 out/Shared,里面包含 build 文件。通过
ninja -C out/Shared
进行生成 skia 共享库
ninja: Entering directory `out/Shared'
[981/981] link libskia.so
这样就完成了 skia 库的编译。