截止目前,skia的版本是m84,https://skia.googlesource.com/skia.git/+refs
我们使用Windows终端命令行,把源码下载:
1、先设置git http代理:
>git config --global http.proxy http://127.0.0.1:8000
>git config --global https.proxy http://127.0.0.1:8000
设置成功,代理信息会记录在C:\Users\firecat\.gitconfig
2、再用git命令下载skia源码
>git clone https://skia.googlesource.com/skia.git
3、再下载依赖库
>cd skia
>python tools/git-sync-deps
网上有好心人已经准备好了,直接下载就行了,然后解压到\skia\bin里面。环境变量path需要添加bin路径,例如我的路径是:
F:\tmp-source\qt-hmi\skia\skia\bin
下载链接:gn&ninja32位版_gnninja-C++文档类资源-CSDN下载
本人也备份了一份:Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法_Windows+VS2017编译Skia-C++文档类资源-CSDN下载
is_debug=true 表示Debug
is_component_build=true 表示动态库编译【推荐,否则是静态库编译,到时候生成的静态库运行时是MTd/MT】
target_cpu="x86" 表示Win32平台
ide=vs 表示使用VS IDE编译 【不推荐,容易出错】
>bin\gn gen out\Debug64
>bin\gn args out\Debug64
#这句话输入之后,会弹出一个记事本文件,请手动输入要编译的参数
# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
保存记事本,然后继续终端命令
>bin\gn gen out\Debug64
>bin\ninja -C out\Debug64
>bin\gn gen out\Release64
>bin\gn args out\Release64
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
>bin\gn gen out\Release64
>bin\ninja -C out\Release64
>bin\gn gen out\Debug86
>bin\gn args out\Debug86
# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Debug86
#执行ninja之前,需要先打开路径\skia\out\Debug86的toolchain.ninja文件,手动删除所有
"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本内容,
#进入文件夹C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
拷贝以下3个文件到\skia\out\Debug86
msobj140.dll
mspdb140.dll
mspdbcore.dll
>bin\ninja -C out\Debug86
>bin\gn gen out\Release86
>bin\gn args out\Release86
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Release86
#执行ninja之前,需要先打开路径\skia\out\Release86的toolchain.ninja文件,手动删除所有
"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本内容,
#进入文件夹C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
拷贝以下3个文件到\skia\out\Release86
msobj140.dll
mspdb140.dll
mspdbcore.dll
>bin\ninja -C out\Release86
bin\gn help args
bin\gn help static_library
bin\gn help buildargs
bin\gn args --list out\Release64
bin\gn args --list out\Debug64
bin\gn args --list out\Release86
bin\gn args --list out\Debug86
bin\ninja -help
不建议使用VS的编译方式,容易失败
>bin/gn gen out/Static --args="is_official_build=true skia_use_libpng=false skia_use_zlib=false skia_use_libjpeg_turbo=false skia_use_harfbuzz=false skia_use_libwebp=false skia_use_expat=false"
vs要用管理员身份打开,不然编译的时候会报错,说什么没有访问权限
x64 Debug
>bin\gn gen out/vsx64d --ide=vs --args="is_debug=true is_official_build=false is_component_build=true"
x64 Release
>bin\gn gen out/vsx64 --ide=vs --args="is_debug=false is_official_build=false is_component_build=true"
x86 Debug
>bin\gn gen out/vsx86d --ide=vs --args="is_debug=true is_official_build=false is_component_build=true target_cpu=\"x86\""
x86 Release
>bin\gn gen out/vsx86 --ide=vs --args="is_debug=false is_official_build=false is_component_build=true target_cpu=\"x86\""
Windows环境VS2017编译skia库-m84之已编译的库文件等-C++文档类资源-CSDN下载
https://www.jianshu.com/p/4225f4342d18 [图形引擎Skia之一]源码下载与编译(Windows)
https://blog.drawoceans.com/codes/19/ 在Windows上使用VS2017编译64位和32位Skia
国内正确编译V8和Skia_ScSofts的博客-CSDN博客 国内正确编译V8和Skia
QtSkia: google的 skia渲染框架, 集成到Qt中 google的 skia渲染框架, 集成到Qt中
doc/Examples-zh.md · QtSkia/QtSkia - Gitee.com SkCanvas是一个类似于QPainter的画笔,但性能和功能都比QPainter强大许多。