window环境编译Skia(VS2017)

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

你可能感兴趣的:(window环境编译Skia(VS2017))