前言
上一篇文章已经对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安装目录下的 bin 和 usr/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 x86 及 Windows x64 版本 skia 相关开发文件
百度网盘
好了, 下一次, 我们将真正的探索Skia的奥秘. 敬请期待吧~~
网友评论