构建Dart SDK时找不到build.ninja

时间:2018-07-09 14:52:29

标签: build dart ninja dart-sdk

我准确地遵循了the wiki,但是当我尝试构建时,它失败了:

$ gclient sync
... # A lot of syncing here
Running hooks: 100% (14/14), done.
$ cd sdk/
$ ./tools/build.py --mode release --arch x64 create_sdk
ninja -C out/ReleaseX64 create_sdk
ninja: error: loading 'build.ninja': No such file or directory
BUILD FAILED
$ ls out/ReleaseX64
args.gn build.ninja build.ninja.d dart-sdk obj toolchain.ninja

3 个答案:

答案 0 :(得分:0)

使用/usr/bin/ninja代替depot_tools随附的软件。

答案 1 :(得分:0)

至少在Windows上,此问题是由于运行build.py时出现问题(可能与Visual Studio有关)而引起的。由于脚本被中断,因此无法创建build.ninja。此后再次运行build.py时,它不会尝试创建构建文件(因为已经创建了输出文件夹),并且在找不到build.ninja时失败。

Github上有一个issue about this。对于Windows用户,我建议按照以下步骤安装Visual Studio:

  • 免费下载Visual Studio 2019社区并安装
  • 打开Visual Studio,然后在菜单中转到“工具”->“获取工具和功能”。在“工作负载”选项卡(默认选项卡)中选择“使用C ++进行桌面开发”并安装。
  • 转到Windows应用和功能(在其中卸载程序),搜索“ Windows软件开发工具包”,然后单击“修改”。单击“更改”,选择“调试器”,然后继续。

我还设置了环境变量GYP_MSVS_OVERRIDE_PATH = C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community,但我认为这不是必需的,因为脚本会自动检测到该路径(如果默认安装)路径)。

然后,按照wiki中的其他步骤进行操作。基本上安装软件仓库工具,在新的“ dart-sdk”文件夹中执行“获取dart”,然后从该文件夹中运行“ gclient sync”。然后在“ dart-sdk / sdk”中运行 python ./tools/build.py --mode release --arch x64 create_sdk

答案 2 :(得分:0)

对我来说,删除xcodebuild目录并重新同步(在sdk目录中)

rm -rf xcodebuild
gclient sync