Windows环境VS2017编译skia库,亲测成功,m84官方编译的方法

05/18 13:23
阅读数 333

环境准备

  • Windows7/10电脑需要能访问https://skia.org/https://skia.googlesource.com/skia.git
  • 在Windows上安装Visual Studio 2017
  • 在Windows上安装Python v2.7.x(必须是v2系列),32位版本,例如python-2.7.18.msi。环境变量path需要添加python2。
  • 在Windows终端输入命令"python --version"可以查看python2是否正确安装。
  • 在Windows上安装Git工具

 

 

下载源码和依赖库

截止目前,skia的版本是m84,https://skia.googlesource.com/skia.git/+refs

我们使用Windows终端命令行,把源码下载:

>git clone https://skia.googlesource.com/skia.git
>cd skia
>python tools/git-sync-deps

 

 

下载gn和ninja工具

网上有好心人已经准备好了,直接解压就行了。解压到bin里面。环境变量path需要添加bin路径,例如我的路径是:

F:\tmp-source\qt-hmi\skia\skia\bin

https://download.csdn.net/download/qq_35824650/12398406

 

 

源码编译

  • 参数说明

is_debug=true 表示Debug

is_component_build=true 表示动态库编译

target_cpu="x86" 表示Win32平台

 --ide=vs 表示使用VS IDE编译 【不推荐,容易出错】

 

 

  • x64位 Debug编译:

>bin\gn gen out\Debug64
>bin\gn args out\Debug64

#这句话输入之后,会弹出一个记事本文件,请输入编译的参数

# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
>bin\gn gen out\Debug64
>bin\ninja -C out\Debug64



 

  • x64位 Release编译:

>bin\gn gen out\Release64
>bin\gn args out\Release64
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
>bin\gn gen out\Release64
>bin\ninja -C out\Release64





 

  • x86位 Debug编译:

>bin\gn gen out\Debug86
>bin\gn args out\Debug86
# Set build arguments here. See `gn help buildargs`.
is_debug=true
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Debug86





#执行ninja之前,需要先打开路径\skia\out\Debug86的toolchain.ninja文件,手动删除所有

"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本内容,

#进入文件夹C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

拷贝以下3个文件到\skia\out\Debug86

msobj140.dll
mspdb140.dll
mspdbcore.dll
>bin\ninja -C out\Debug86


 

  • x86位 Release编译:

>bin\gn gen out\Release86
>bin\gn args out\Release86
# Set build arguments here. See `gn help buildargs`.
is_debug=false
is_component_build=true
target_cpu="x86"
>bin\gn gen out\Release86





#执行ninja之前,需要先打开路径\skia\out\Release86的toolchain.ninja文件,手动删除所有

"cmd /c C:/Program Files (x86)/Windows Kits/10/bin/SetEnv.cmd /x86 &&"的文本内容,

#进入文件夹C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

拷贝以下3个文件到\skia\out\Release86

msobj140.dll
mspdb140.dll
mspdbcore.dll

>bin\ninja -C out\Release86

 

 

常用的gn命令

bin\gn help args
bin\gn help static_library
bin\gn help buildargs
bin\gn args --list out\Release64
bin\gn args --list out\Debug64
bin\gn args --list out\Release86
bin\gn args --list out\Debug86

 

 

参考文献

https://www.jianshu.com/p/4225f4342d18

https://blog.drawoceans.com/codes/19/

https://blog.csdn.net/qq_35824650/article/details/105984644

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部