美文网首页
[图形引擎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