【问题标题】:Compiling Flutter Engine on Windows在 Windows 上编译 Flutter 引擎
【发布时间】:2019-08-30 09:16:17
【问题描述】:

我正在尝试在 Windows 上构建 Flutter 引擎。我认为需要 VS 2017,我只安装了那个版本的 VS。我不得不做这两个不在指令here中的事情:

set GYP_MSVS_VERSION=2017
set DEPOT_TOOLS_WIN_TOOLCHAIN=0

然后,在编译指令here 中,python .\flutter\tools\gn --unoptimized 之后出现错误。

λ python .\flutter\tools\gn --unoptimized 在以下位置生成 GN 文件: out\host_debug_unopt Traceback(最近一次调用最后一次):文件 "C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py", 第 154 行,在 main() 文件 "C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py", 第 121 行,主要 args = _SetupScript(cpu, win_sdk_path) 文件 "C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py", 第 68 行,在 _SetupScript 返回 [os.path.normpath(os.path.join(os.environ['GYP_MSVS_OVERRIDE_PATH'],
文件 "C:\Installs\Flutter\building\depot_tools\win_tools-2_7_15_chromium14_bin\python\bin\lib\os.py", 第 425 行,在 getitem 中 return self.data[key.upper()] KeyError: 'GYP_MSVS_OVERRIDE_PATH' 错误在 //build/toolchain/win/BUILD.gn:28:18: 脚本返回 非零退出代码。 toolchain_data = exec_script("setup_toolchain.py", ^--------- 当前目录:C:/Installs/Flutter/engine/src/out/host_debug_unopt/ 命令: C:/Installs/Flutter/building/depot_tools/win_tools-2_7_15_chromium14_bin/python/bin/python.exe C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py “C:\Program Files (x86)/Microsoft Visual Studio/2017/Community” ../../third_party/gyp/pylib/gyp/win_tool.py "C:\Program Files (x86)\Windows 工具包\10" "C:\WINDOWS\System32;C:\WINDOWS\SysWOW64;Arm64Unused" x64 返回 1。 请参阅 //BUILD.gn:6:1: 导致文件被包含。 组(“默认”){ ^------------------

在完成set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017 之后,我得到:

λ python .\flutter\tools\gn --unoptimized 在以下位置生成 GN 文件: out\host_debug_unopt Traceback(最近一次调用最后一次):文件 "C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py", 第 154 行,在 main() 文件 "C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py", 第 126 行,主要 env = _ExtractImportantEnvironment(变量)文件“C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py”, 第 50 行,在 _ExtractImportantEnvironment 中 '需要设置为有效路径' % 需要)异常:环境变量“SYSTEMROOT”需要设置为有效路径 //build/toolchain/win/BUILD.gn:28:18 处的错误:脚本返回 非零退出代码。 toolchain_data = exec_script("setup_toolchain.py", ^--------- 当前目录:C:/Installs/Flutter/engine/src/out/host_debug_unopt/ 命令: C:/Installs/Flutter/building/depot_tools/win_tools-2_7_15_chromium14_bin/python/bin/python.exe C:/Installs/Flutter/engine/src/build/toolchain/win/setup_toolchain.py “C:\Program 文件 (x86)\Microsoft Visual Studio\2017” ../../third_party/gyp/pylib/gyp/win_tool.py "C:\Program Files (x86)\Windows 工具包\10" "C:\WINDOWS\System32;C:\WINDOWS\SysWOW64;Arm64Unused" x64 返回 1。 请参阅 //BUILD.gn:6:1: 导致文件被包含。 组(“默认”){ ^------------------

SYSTEMROOT 已设置:

λ echo %SYSTEMROOT%
C:\WINDOWS

我尝试了这些,但仍然遇到同样的错误。

set WindowsSdkDir=C:\Program Files (x86)\Windows Kits\8.1
SET use_sysroot=0
SET USE_SYSROOT=0

如何解决这个问题并编译 Flutter 引擎?

编辑:顺便说一句,当它要求输入用户名Username for 'https://chrome-internal.googlesource.com': 时,我按回车,这可能是相关的吗?

【问题讨论】:

    标签: flutter build


    【解决方案1】:

    好的,它应该是set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community。错过了Community 部分。稍微研究一下python文件后想通了。

    所以,以下这些应该添加到说明中:

    1. 设置这些变量
    set GYP_MSVS_VERSION=2017
    set DEPOT_TOOLS_WIN_TOOLCHAIN=0
    set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
    
    1. 使用适用于桌面 C++ x86/amd64 应用程序的 Windows SDK 安装 Windows 10 SDK

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2015-01-09
      • 2021-08-16
      • 2013-01-31
      • 1970-01-01
      相关资源
      最近更新 更多