我在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.exe
,ml.exe
link.exe
命令(可从PATH
环境访问)关于skia - 在Windows 32位上构建Skia,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42279011/