参考教程:https://blog.csdn.net/qq_33377547/article/details/123522441
参考了多个教程。
新手折腾了几天,虽然成功编译了lib,还没测试用过,可能有错误,记录一下,希望见谅。
1.准备环境:
git 工具 :https://git-scm.com/download/win
java(re) 8:https://www.java.com/zh-CN/download/
python3.9(从windows store):https://apps.microsoft.com/store/detail/python-39/9P7QFQMJRFP7?hl=zh-cn&gl=cn&rtc=1
skia源码:https://github.com/google/skia.git
depot_tools:https://chromium.googlesource.com/chromium/tools/depot_tools.git
bazel(bazel...windows-x86_64.exe):https://github.com/bazelbuild/bazel/releases
更改文件名 bazel...windows-x86_64.exe 到 bazel.exe
2.拉取第三方库
git clone https://github.com/google/skia.git
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
3.配置环境变量
(在变量";"号后添加目录)
JAVA_HOME=jre
CLASSPATH=%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
PATH %JAVA_HOME%\bin
PATH depot_tools
PATH bazel
4.同步 tools
cd skia
python tools/git-sync-deps
5.编译
设置 skia\gn\BUILDCONFIG.gn :
win_sdk = "C:/Program Files (x86)/Windows Kits/10"
win_sdk_version = "10.0.17763.0"win_vc = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC"
win_toolchain_version = "14.16.27023"
生成项目:
bin\gn gen out\Static_x86 --args="is_official_build=false is_debug=false target_cpu=\"x86\"" --ide="vs2017"
修改项目下toolchain.ninja文件:
删除:cmd.exe /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&
复制 msobj140.dll、mspdb140.dll、mspdbcore.dll
从 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
到 项目目录。
如出现错误:sktarray.h C2398: 元素“2”: 从“const uint32_t”转换到“int”需要收缩转换,可添加转换类型符号:
使用编译命令:
ninja -C out/Static_x86