美文网首页
[图形引擎Skia之一]源码下载与编译(Windows)

[图形引擎Skia之一]源码下载与编译(Windows)

作者: var_rain | 来源:发表于2018-02-18 23:30 被阅读0次

前言

上一篇文章已经对Skia的身世以及Skia在Ubuntu下的编译和编译的相关配置工作进行了相关的描述和讲解
这次将是关于Skia在Windows下的相关编译和编译的相关配置操作
如果需要在Ubuntu下进行编译的小伙伴,请查看我的上一篇文章[图形引擎Skia之一]源码下载与编译(Ubuntu)

准备工作(以 Windows 10 为例)

  • 首先你的Windows电脑需要能访问https://google.com当然能访问https://googlesource.com更好(如果实在没办法,请看本文末尾,使用我提供的源码即可)
  • 我建议在Windows上安装一个VisualStudio, 并且建议VisualStudio的版本不低于2015 Update 3, 当然你也可以选择VisualStudio 2017
  • 在Windows上安装Python(建议版本Python2.7.x)
  • 在Windows上安装Git工具
  • 设置Git安装目录下的 binusr/bin 到系统的 PATH 环境变量中
  • 测试Git的相关命令(如果提示 命令未找到 或者 "git" 不是内部或外部命令,也不是可运行的程序或批处理文件。 那么你就需要检查你的环境变量并重新设置)
> git
> cat
  • 配置好你的Git
> git config --global user.name "your name"
> git config --global user.email "your email address"

下载源码和工具

  • 使用git工具下载编译工具 depot_tools
> git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'
  • 设置 depot_tools 的目录到临时环境变量中
> set PATH=%PATH%;E:\Files\depot_tools
  • 测试(如果提示 "ninja" 不是内部或外部命令,也不是可运行的程序或批处理文件。 那你就需要检查你的depot_tools目录并重新设置环境变量了)
> ninja
  • 下载Skia源码
> git clone https://skia.googlesource.com/skia.git
  • 下载构建配置工具
## 进入到skia的源码目录
> cd skia
## 执行python脚本(也需要自备梯子)
> python tools/git-sync-deps
  • 将skia/bin/gn.exe设置到环境变量中
> set PATH=%PATH%;E:\Files\skia\bin
  • 测试命令
> gn

以上步骤都顺利完成之后, 我们就可以进行构建配置操作了

构建配置

  • 设置你的VC工具集到构建配置文件中
    (1) 用文本编辑器或超级记事本打开 skia/gn/BUILDCONFIG.gn 文件
    (2) 大概在31行的地方, 将 win_vc = "" 的值设置为你的VisualStudio的安装目录下的VC目录.
    比如我的设置: win_vc = "E:/VisualStudio/VC"
    (3) 一定要记得 Ctrl+S 保存 之后再关闭
  • 执行相应的命令来构建你的目标配置
## 在skia目录下执行
## 构建静态库
> gn gen out/Static
## 构建动态库
## 因为Windows平台的编译器在导出动态库的时候会检查方法定义的通用性
## 所以编译过程中会报出 C4251 和 C4275 的警告, 只是警告而已, 所以我们在此处加上 extra_cflags=[\"/wd4251\",\"/wd4275\"] 参数来忽略此警告
> gn gen out/Shared --args="is_component_build=true extra_cflags=[\"/wd4251\",\"/wd4275\"]"
## 构建Debug版本
> gn gen out/Debug
## 构建Release版本
> gn gen out/Release --args="is_debug=false"
## 当然还可以直接构建VisualStudio的.sln文件, 使用VisualStudio直接导入, 但是呢,经过我反复的试验, 我不推荐使用VisualStudio编译, 因为这玩意会报出很多莫名其妙的错误信息.
> gn gen out/sln --ide=vs

通过以上构建步骤,会在skia目录下产生一个out目录,里边的目录对应你的构建配置项

编译Skia

经过上一步的构建配置之后,我们就可以进行对Skia的编译了
根据的上一步进行的构建配置来进行对应的编译参数选择

## 编译静态库
> ninja -C out/Static
## 编译动态库
> ninja -C out/Shared
## 编译Debug版本
> ninja -C out/Debug
## 编译Release版本
> ninja -C out/Release

编译完成之后会在out目录下,对应的构建配置目录中产生对应的文件

干货分享

  • 前面说了,如果有的小伙伴没办法搭梯子,那就使用我提供的源码吧(截止目前:2018/02/18)
> git clone https://github.com/scvax/skia_full.git
  • 由于Github支持的最大单文件大小只有100M的样子,所以我进行了分包上传,同步完成大概整个源码会有900M的样子吧, 同步完成后 不建议直接使用图形化解压缩工具进行解压缩 , 建议先使用Git工具的cat命令将分包合并后再使用相关工具解压缩,该命令在Git的安装目录下usr/bin目录中.
> cat skia_source.tar.gz* > skia.tar.gz

该源码包含Skia的源码,depot_tools工具,gn.exe工具, 可直接使用,不需要在进行其他下载操作
解压之后请将depot_tools目录, gn.exe设置到环境变量中, 后续步骤请参考 [构建配置]

为了各位方便,这里提供编译好的 Windows x86Windows x64 版本 skia 相关开发文件
百度网盘

好了, 下一次, 我们将真正的探索Skia的奥秘. 敬请期待吧~~

相关文章

网友评论

      本文标题:[图形引擎Skia之一]源码下载与编译(Windows)

      本文链接:https://www.haomeiwen.com/subject/gmgbtftx.html