skia是个2D向量图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现。不仅用于Google Chrome浏览器,Android手机平台也采用skia作为绘图处理,搭配OpenGL/ES与特定的硬件特征,强化显示的效果。
相关环境:
Win10
Git
Python3.10.10
Visual Studio 2022或者LLVM
首先打开cmd窗口并设置代理,代码如下所示:
set http_proxy=127.0.0.1:[端口] & set https_proxy=127.0.0.1:[端口]
::我的端口是7890,因此代码如下
set http_proxy=127.0.0.1:7890 & set https_proxy=127.0.0.1:7890
提示:先打开指定的文件夹,然后在地址栏输入 cmd回车,便可以打开对应路径的cmd窗口
在下载skia源码之前,我们需要下载Google的depot_tools用于配置其构建环境,下载完成后请将depot_tools添加到环境变量。本文使用Git下载,当前你也可以手动下载,代码如下:
git clone lesource/chromium/tools/depot_tools.git
如果提示: 'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。
请下载Git工具并添加到环境变量。Git下载地址: git-scm/download/win
下载成功的界面如下:
这一步耗时可能较长。
git clone lesource/skia.git
你也可以下载指定版本的skia库,代码如下:
git clone -b chrome/m100 lesource/skia.git
最终完成的界面如下:
我们直接在skia目录下使用python下载第三方依赖库,代码如下:
cd skia
python tools/git-sync-deps
注意:
如果你没有安装Python的话,请安装后再进行上述操作。
第三方库下载完成的界面如下:
我们直接在skia目录下执行python命令下载ninja,代码如下:
python bin/fetch-ninja
ninja下载完成的界面如下:
到此为止,所有工具已经下载完成,接下来需要安装Visual Studio或者LLVM进行编译skia库。
VS的下载地址为:visualstudio.microsoft/zh-hans/vs/
LLVM的下载地址为:releases.llvm/download.html
这一步将使用gn构建配置文件。可使用默认参数进行构建,也可以使用指定得参数,可用参数如下:
构建参数说明:
is_component_build=true:是否生成动态库
is_debug=false:是否生成调试版本
target_cpu="x86":表示win32平台,不指定的话默认是64位
is_official_build=ture:是否只编译skia自身,如果系统没有第三方目录的话建议设置false
win_sdk="":如果windows sdk没有安装到默认路径,需要指定此参数
win_vc+="":如果vs没有安装到默认路径,需要指定此参数,
clang_win="":如果用LLVM编译需要指定此参数
skia_use_icu=false
skia_use_expat=false
skia_use_libwebp_decode=false
skia_use_libwebp_encode=false
skia_use_xps=false
skia_enable_pdf=false
skia_use_libjpeg_turbo_decode = true
skia_use_libjpeg_turbo_encode = true
skia_use_libpng_decode = true
skia_use_libpng_encode = true
skia_use_zlib=true
①生成.ninja构建配置文件
bingn gen outStatic --args=is_official_build=false
如果出现以下错误:
有两种方式可以进行修改:①修改文件的内容;②将Windows Kits/10移动到对应位置即可。
成功后的截图如下:
当然你也可以使用指定得参数进行构建,如下将指定VC及SDK的地址,并构建x86位的动态库。
bingn gen outStatic --args="is_official_build=false is_debug=false win_vc="D:/Software/Program/VS2017/VC" win_sdk="C:/Program Files (x86)/Windows Kits/10" target_cpu="x86""
②根据配置文件进行编译
这一步耗时较长,请耐心等待。
ninja -C outStatic
构建完成后你将在out/Static目录下看到许多的.lib文件,如下:
构建动态库的方式与静态库类似,如下:
bingn gen outShared --args='is_official_build=true is_component_build=true'
ninja -C outShared
bingn gen outsln --ide=vs
ninja -C outsln
本文发布于:2025-03-03 13:24:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1740979446581042.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |