我在this link之后在Windows上构建Skia。

对于Windows x64,构建非常顺利。但不是32位。

1)我尝试指定target_cpu = "x86"而不是target_cpu = "x64",gn gen可以正常工作,但是忍者抛出错误,抱怨到Visual Studio的路径包含空格。它具有类似于以下内容的各种错误:


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


2)我尝试生成IDE中的sln文件并进行构建(这是链接中所述的替代方法)。但是,我什至无法以这种方式编译x64版本(忍者中有很多非零的退出代码,没有观察到更多消息)。

3)我尝试使用该网站声称是“支持32位版本的唯一方法”的工具链。使用以下命令下载工具链(将在skia dir中执行):

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


我设法解决了繁琐的工作(gutil冲突,.py扩展名遗漏,路径变量,到Google Cloud Service),现在我陷入了困境:


以xxxxxxxxxxxxxxxx身份登录

AccessDeniedException:403调用者无权访问bucket Skia-buildbots的storage.objects.list。


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

最佳答案

我发现的一种解决方案:


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

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字符串可能有所不同)
并照常使用ninja -C out/Release dm


这样,我们使用的工具链中直接调用cl.exeml.exe link.exe命令(可从PATH环境访问)

关于skia - 在Windows 32位上构建Skia,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42279011/

10-12 02:17