【问题标题】:Unable to build V8 in Windows 10无法在 Windows 10 中构建 V8
【发布时间】:2026-01-09 05:45:01
【问题描述】:

我使用此链接作为参考 (https://medium.com/angular-in-depth/how-to-build-v8-on-windows-and-not-go-mad-6347c69aacd4) 来构建 v8,但我认为它已过时或我做错了什么。 我无法运行此 (ninja -C out.gn/x64.release) 命令,因为它不断显示此错误

ninja: error: loading 'build.ninja': The system cannot find the file specified.

ninja: Entering directory `out.gn\foo

我也遇到了这个错误

D:\v8_dev\v8Engine\v8>gn args out.gn\foo
Waiting for editor on "D:\v8_dev\v8Engine\v8\out.gn\foo\args.gn"...
Generating files...
Traceback (most recent call last):
  File "D:/v8_dev/v8Engine/v8/build/vs_toolchain.py", line 561, in <module>
    sys.exit(main())
  File "D:/v8_dev/v8Engine/v8/build/vs_toolchain.py", line 557, in main
    return commands[sys.argv[1]](*sys.argv[2:])
  File "D:/v8_dev/v8Engine/v8/build/vs_toolchain.py", line 371, in CopyDlls
    _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=False)
  File "D:/v8_dev/v8Engine/v8/build/vs_toolchain.py", line 346, in _CopyRuntime
    suffix)
  File "D:/v8_dev/v8Engine/v8/build/vs_toolchain.py", line 284, in _CopyUCRTRuntime
    assert len(ucrt_files) > 0
AssertionError
ERROR at //build/toolchain/win/BUILD.gn:49:3: Script returned non-zero exit code.
  exec_script("../../vs_toolchain.py",
  ^----------
Current dir: D:/v8_dev/v8Engine/v8/out.gn/foo/
Command: D:/v8_dev/depot_tools/bootstrap-3_8_0_chromium_8_bin/python/bin/python.exe D:/v8_dev/v8Engine/v8/build/vs_toolchain.py copy_dlls D:/v8_dev/v8Engine/v8/out.gn/foo Release x64
Returned 1.
See //BUILD.gn:905:1: which caused the file to be included.
action("postmortem-metadata") {
^------------------------------

最终我希望它像嵌入图片中显示的那样工作

【问题讨论】:

  • 请用简单的话向我解释一下,因为我是 Visual Studio 中这个“嵌入 v8”的新手
  • 你看过 vs_toolchain.py 吗?第 263 到 306 行试图复制一些 Windows SDK DLL。在你的情况下,这是失败的。我猜你没有这些文件,或者你把它们放在一个不寻常的位置。看一下python程序,看看你是不是搞不明白为什么会出错。
  • @john 我不知道你在说什么。你能看看这个链接,告诉我应该改变哪些步骤link,因为我非常关注这篇文章。
  • 遵循说明一切都很好,但是当出现问题时,您需要了解自己在做什么。我不知道要更改什么,因为我无法查看您的机器并查看问题所在。正如我所说,您遇到的问题是您正在运行的脚本试图复制一些 Windows SDK DLL。因此,也许您可​​以查看该链接并确保您正确遵循有关 Windows SDK 的说明,并且这样做时没有发生错误。但基本上你正在运行一个失败的python脚本,所以你需要了解python来修复它。
  • 所以您是在告诉我教程中没有过时的内容?我做错了什么?如果是这样,那就松了一口气。

标签: python c++ visual-studio v8 embedded-v8


【解决方案1】:

如果您正在寻找解决方案,请点击此链接 (https://github.com/pmed/v8-nuget) 供 Visual Studio 用户使用,它工作得非常好,没有任何麻烦。

【讨论】:

    最近更新 更多