2017-02-16 56 views
4

我在windows上构建skia,遵循this link需要帮助在Windows上构建Skia(仅限32位)

对于windows x64,构建非常流畅。但是当涉及到构建32位时,我正在经历痛苦。

1)我试过指定target_cpu = "x86"而不是target_cpu = "x64",gn gen很好,但忍者会抛出很多错误,抱怨visual studio的路径包含空格。它具有类似于以下各种错误:

“C:\ Programs”不是有效的路径。

2)我试着生成sln文件并从IDE内建立(这是链接中提到的替代方案)。然而,我甚至无法以这种方式编译x64版本(很多忍者的非零退出代码,没有进一步观察的消息)。

3)我尝试使用的工具链最有可能是网站声称是“支持32位构建的唯一方法”。该工具链是使用下面的命令来下载(在Skia的目录执行):

python infra/bots/assets/win_toolchain/download.py -t C:/toolchain 

我设法解决复杂的负载(gutil冲突,扩展名为.py遗漏,路径变量,以谷歌的云服务),我现在被困在此:

登录身份XXXXXXXXXXXXXXXX

AccessDeniedException异常:403来电不必斗Skia的-buildbots storage.objects.list访问。

我很确定我一定非常混乱。官方指南看起来非常直截了当,但我经历了很多颠簸。

事实上,只要它为我生成“库”,我并不仅限于它的构建方式。但是对于一个拥有如此多外部依赖项目的大型项目,我不认为用自己的方式酿造是很容易的。

在此先感谢。

+2

具有完全相同的问题。你有没有设法找到解决方案? – aaronsnoswell

回答

0

一个解决方案,我发现:

  1. 打开out\Release\toolchain.ninja文本文件(或特定的toolchain.ninja到您的配置)
  2. 删除以下字符串(你可以用“替换文本”与在文本编辑器空字符串):

    C:/Program Files (x86)/Microsoft Visual Studio 14.0/win_sdk/bin/SetEnv.cmd /x86 && C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64_x86/ 
    

    来自世界各地的(如果你已经使用了x86,为x64的字符串可能有所不同)

  3. 并使用ninja -C out/Release dm像往常一样

这样,我们使用的是工具链,其中cl.exeml.exelink.exe命令直接调用(入店从PATH环境)

+0

我几乎有类似的问题,也许你也会帮助我。我设法构建了skia all.sln,它包含64个项目,我可以运行它们,但是我无法创建一个项目我的自我,我尝试了很多技巧。如果我从解决方案中删除其他项目忍者拒绝构建。根据你的建议,我应该从toolchain.ninja中删除一个字符串,但我甚至没有这个字符串。我希望你知道一些神奇/ – bobra

+0

@bobra这是一个不同的问题,将自己的程序与Skia链接是一个完全不同的世界;它看起来像在这个最新版本中,它们只使用一个库(libskia.a)简化了链接,所以你应该为你的项目做两件事:1)为.h文件包含'skia/include /'目录,2)将你的程序与'out/Release/libskia.lib'链接起来) – dacap