Skia+windows10+python2.7+VS2017配置

1.准备工作

(1)在windows上安装VisualStudio,建议VisualStudio版本不低于2015。

(2)安装python2.7版本,并把python添加环境变量,python3不兼容,会导致很多错误。

(3)安装Git工具。

(4)翻墙工具。

  我配置的环境是 python2.7.15+vs2017+windows10

 

 

2.下载源码

(1)下载depot_tools

git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'

由于Chromium项目的代码量巨大,又依赖了很多第三方代码库,所以如何有效的管理这些代码是个难题。Chromium官方提供了一个depot_tools来管理Chromium源代码的工具,官方开发工作流也是基于depot_tools。

下载完成后把depot_tools添加环境变量。

 

 

(2)下载skia源码(不要忘记开启翻墙)

git clone https://skia.googlesource.com/skia.git
 
*如果翻墙了还是下载不了,要修改Git的端口号
git config --global http.proxy "localhost:1080"
 
 
cd skia
python tools/git-sync-deps(此处等待时间较长,我等待了大约3个小时)
 
完成后添加skia中gn目录到环境变量。

(3)下载ninja

git clone git://github.com/ninja-build/ninja.git && cd ninja
打开VS2017兼容工具命令提示符 
执行python configure.py --bootstrap
 
结束之后会出现ninja.exe,并添加环境变量

 

 

3.构建配置

打开skia/gn/ BUILDCONFIG.gn,大约在31行左右,将 win_vc = " " 的值设置为你的VisualStudio的安装目录下的VC目录.

比如我的目录是

win_vc = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC"

 

执行相应的命令来构建你的目标配置

## 在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直接导入

> gn gen out/sln --ide=vs

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

 

 

4.编译生成vs工程。

此处有两种办法

(1)直接用vs打开out/sln目录下的all.sln让vs自己导入。

 

(2)

ninja -C out/Staticninja -C out/Sharedninja -C out/Debugninja -C out/Release

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大龙_biggest_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值