运行 flutter 桌面应用程序时出现 CMake 错误

M.S*_*aif 13 cmake flutter

当我尝试启动 flutter 桌面应用程序时,出现以下错误:

\n
\n

“CMakeLists.txt 处的 CMake 错误:2(项目):

\n

发电机

\n

Visual Studio 16 2019

\n

找不到任何 Visual Studio 实例。

\n

构建 Windows 应用程序...

\n

异常:无法生成构建文件”

\n
\n

我做了什么...

\n

1-安装了 Visual Studio 2022(使用 C++ 进行桌面开发和通用 Windows 平台开发)

\n

2- 运行这些命令:

\n
\n

颤动配置--enable-windows-desktop

\n

颤动创建 .

\n

flutter run -d windows

\n
\n

我还尝试使用开发通道:

\n
\n

颤振通道开发

\n

颤动升级

\n

颤振配置--启用-windows-uwp-desktop

\n
\n

这些是我运行flutter devicesflutter doctor时所拥有的

\n

颤振装置

\n
\n

4 个连接的设备:\nWindows(桌面)\xe2\x80\xa2 windows \xe2\x80\xa2 windows-x64 \xe2\x80\xa2 Microsoft\nWindows [版本 10.0.22000.318] Windows (UWP)(桌面)\xe2\ x80\xa2 winuwp \xe2\x80\xa2\nwindows-uwp-x64 \xe2\x80\xa2 Chrome(网络) \xe2\x80\xa2 chrome \xe2\x80\xa2 web-javascript\n\xe2\x80\xa2 Google Chrome 94.0.4606.81 Edge(网络)\xe2\x80\xa2 Edge \xe2\x80\xa2\nweb-javascript \xe2\x80\xa2 Microsoft Edge 95.0.1020.44

\n
\n

扑医生

\n
\n

[\xe2\x88\x9a] Flutter(频道开发,2.6.0-11.0.pre,在 Microsoft Windows\n[版本 10.0.22000.318],区域设置 en-US)

\n

[\xe2\x88\x9a] Android 工具链 - 为 Android 设备开发(Android SDK\n版本 31.0.0)

\n

[\xe2\x88\x9a] Chrome - 网络开发

\n

[\xe2\x88\x9a] Visual Studio - 为 Windows 开发(Visual Studio Community 2022\n17.0.0)

\n

[\xe2\x88\x9a] Android Studio(版本 2020.3)

\n

[\xe2\x88\x9a] VS 代码(版本 1.61.1)

\n

[\xe2\x88\x9a] 连接的设备(4 个可用)

\n

\xe2\x80\xa2 未发现问题!

\n
\n

no_*_*dio 17

2022 年 2 月 3 日更新:Flutter 的最新版本(2.10 稳定版)已修复此问题以及对 Windows 的稳定桌面支持。

更新:flutter beta 通道(2.9.0-0.1.pre 起)附带了修复程序。

根据主 flutter 存储库上的此问题,2.9 版本之前的 Flutter 不支持 Visual Studio 2022。如果您想在针对 Windows 的情况下进行构建,则必须安装 VS 2019 和 2022,或者使用以下解决方法

当前的解决方法是:下载合适的 flutter 版本,将 https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/windows/build_windows.dart#L25-L28中的 _cmakeVisualStudioGeneratorIdentifier 编辑 为合适的版本CMake Visual Studio 生成器。您可以在此页面上获取当前可用的 CMake Visual Studio 生成器: https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html#id13

默认情况下,_cmakeVisualStudioGeneratorIdentifier 附带 CMake Visual Studio 2019 Generator。如果您要使用 CMake Visual Studio 2022 Generator - 首先确保您的 Visual Studio 2022 发行版包含 Cmake 3.21 或更高版本,请参阅 https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2017%202022。 html 了解详细信息。

要在 Windows 上应用这些更改:

  • 编辑path\to\flutter\packages\flutter_tools\lib\src\windows\build_windows.dart,并将第 28 行的常量从 更改'Visual Studio 16 2019''Visual Studio 17 2022'
  • 删除flutter_tools.stampand flutter_tools.snapshotin path\to\flutter\bin\cache\(使 flutter 使用您上面更改的新源代码重新生成其构建工具)
  • 在项目路径中,运行flutter clean以删除引用错误 Visual Studio 版本的缓存 CMake 文件
  • 在项目路径下,运行flutter run -d windows重新启动构建(这次成功了)


Mah*_*ber 11

  1. 下载Visual Studio 17 2022
  2. 从项目中删除CMakeLists.txt(路径:your_project_name/windows/CMakeLists.txt)
  3. 在终端中运行flutter clean
  4. 然后运行flutter create .