Windows环境编译skia库

skia是个2D向量图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现。不仅用于Google Chrome浏览器,Android手机平台也采用skia作为绘图处理,搭配OpenGL/ES与特定的硬件特征,强化显示的效果。

一、所需环境

相关环境:
Win10
Git
Python3.10.10
Visual Studio 2022或者LLVM

二、具体步骤

Step1 设置代理

首先打开cmd窗口并设置代理,代码如下所示:

set http_proxy=http://127.0.0.1:[端口] & set https_proxy=http://127.0.0.1:[端口]

::我的端口是7890,因此代码如下
set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890
提示:先打开指定的文件夹,然后在地址栏输入 cmd回车,便可以打开对应路径的cmd窗口

Step2 下载depot_tools

在下载skia源码之前,我们需要下载Google的depot_tools用于配置其构建环境,下载完成后请将depot_tools添加到环境变量。本文使用Git下载,当前你也可以手动下载,代码如下:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
如果提示: 'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。
请下载Git工具并添加到环境变量。Git下载地址: https://git-scm.com/download/win

下载成功的界面如下:

Step3下载skia源码

这一步耗时可能较长。

git clone https://skia.googlesource.com/skia.git
你也可以下载指定版本的skia库,代码如下:
git clone -b chrome/m100 https://skia.googlesource.com/skia.git

最终完成的界面如下:

Step4下载第三方依赖库

我们直接在skia目录下使用python下载第三方依赖库,代码如下:

cd skia
python tools/git-sync-deps
注意:
如果你没有安装Python的话,请安装后再进行上述操作。

第三方库下载完成的界面如下:

Step5 下载ninja

我们直接在skia目录下执行python命令下载ninja,代码如下:

python bin/fetch-ninja

ninja下载完成的界面如下:

到此为止,所有工具已经下载完成,接下来需要安装Visual Studio或者LLVM进行编译skia库。

Step6 安装VS或者LLVM

VS的下载地址为:https://visualstudio.microsoft.com/zh-hans/vs/

LLVM的下载地址为:https://releases.llvm.org/download.html

Stpe7 构建skia库

这一步将使用gn构建配置文件。可使用默认参数进行构建,也可以使用指定得参数,可用参数如下:

(1)构建参数

构建参数说明:
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

(2)构建动态库

①生成.ninja构建配置文件

bin\gn gen out\Static --args=is_official_build=false
如果出现以下错误:
有两种方式可以进行修改:①修改gn/BUILDCONFIG.gn文件的内容;②将Windows Kits/10移动到对应位置即可。

成功后的截图如下:

当然你也可以使用指定得参数进行构建,如下将指定VC及SDK的地址,并构建x86位的动态库。

bin\gn gen out\Static --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 out\Static

构建完成后你将在out/Static目录下看到许多的.lib文件,如下:

(2)构建动态库

构建动态库的方式与静态库类似,如下:

bin\gn gen out\Shared --args='is_official_build=true is_component_build=true'
ninja -C out\Shared

(3)构建sln解决方案

bin\gn gen out\sln --ide=vs
ninja -C out\sln

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值