最近引用duilib时发现使用gdi+绘制有很多问题,之前做浏览器时使用skia库,决定把底层绘制用skia替换,并且用skia的svg模块支持矢量图绘制。下面记录skia库的下载和编译
官方文档:
https://skia.org/user/download
https://skia.org/user/build
LLVM下载地址:
https://github.com/llvm/llvm-project/releases/tag/llvmorg-11.0.1
一、工具准备
- 一个翻墙工具
- 安装vs2017或者vs2019,以及相关SDK(需支持c++17)
- git环境和python环境
- .LLVM编译器(官方推荐编译器), 强烈建议使用clang-cl编译器,编译速度更快,编出的库体积更小,出错几率更小
二、源码下载
1.下载depot_tools 用于编译源码,并设置环境变量
git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'
export PATH="${PWD}/depot_tools:${PATH}" #也可以手动添加环境变量
2.下载源码,并同步第三方库
git clone https://skia.googlesource.com/skia.git
# or
# fetch skia
cd skia
python2 tools/git-sync-deps 这个是在同步第三方库,一定要执行,否则编译时会报错找不到一些库, python2出错可以换成python