【问题标题】:build.ninja is not found when building Dart SDK构建 Dart SDK 时找不到 build.ninja
【发布时间】:2018-07-09 14:52:28
【问题描述】:

我准确地关注了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

【问题讨论】:

    标签: build dart ninja dart-sdk


    【解决方案1】:

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

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

    • 下载 Visual Studio 2019 社区(免费)并安装
    • 打开 Visual Studio 并在菜单中转到工具 -> 获取工具和功能。在 Workloads 选项卡(默认选项卡)中选择“Desktop Development with C++”并安装。
    • 转到 Windows 应用程序和功能(卸载程序的位置),搜索“Windows 软件开发工具包”并单击修改。点击更改,选择“调试器”并继续。

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

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

    【讨论】:

      【解决方案2】:

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

      rm -rf xcodebuild
      gclient sync
      

      【讨论】:

        猜你喜欢
        • 2021-12-15
        • 2020-08-27
        • 2022-11-11
        • 1970-01-01
        • 1970-01-01
        • 2022-11-16
        • 1970-01-01
        • 2018-12-20
        • 2016-02-27
        相关资源
        最近更新 更多