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

Posted

技术标签:

【中文标题】运行颤振桌面应用程序时出现CMake错误【英文标题】:CMake error while running flutter desktop application 【发布时间】:2021-12-24 22:04:24 【问题描述】:

当我尝试启动 Flutter 桌面应用程序时,我遇到了这个错误:

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

发电机

Visual Studio 16 2019

找不到任何 Visual Studio 实例。

正在构建 Windows 应用程序...

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

我做了什么...

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

2- 运行这些命令:

flutter 配置 --enable-windows-desktop

颤振创建。

flutter 运行 -d 窗口

我也尝试使用开发频道:

颤振通道开发

颤振升级

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

当我运行 flutter devicesflutter doctor

时,这些是我所拥有的

颤振设备

4 个连接的设备: Windows(桌面) • windows • windows-x64 • Microsoft Windows [版本 10.0.22000.318] Windows (UWP)(桌面) • winuwp • windows-uwp-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.81 Edge(网络) • 边缘 • web-javascript • Microsoft Edge 95.0.1020.44

扑医生

[√] Flutter(频道开发,2.6.0-11.0.pre,在 Microsoft Windows 上 [版本 10.0.22000.318],语言环境 en-US)

[√] android 工具链 - 为 Android 设备开发(Android SDK 版本 31.0.0)

[√] Chrome - 为网络开发

[√] Visual Studio - 为 Windows 开发(Visual Studio 社区 2022 17.0.0)

[√]Android Studio(2020.3版)

[√] VS Code(版本 1.61.1)

[√] 已连接设备(4 个可用)

• 未发现任何问题!

【问题讨论】:

【参考方案1】:

根据 Flutter 主仓库中的this issue,Flutter 2.9 之前的版本不支持 Visual Studio 2022。如果您想在面向 Windows 的情况下进行构建,则必须在 2022 旁边安装 VS 2019 或 use this workaround:

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

默认情况下,_cmakeVisualStudioGeneratorIdentifier 是 CMake 自带的 Visual Studio 2019 生成器。如果你打算使用 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' 删除path\to\flutter\bin\cache\ 中的flutter_tools.stampflutter_tools.snapshot(以使flutter 使用您在上面更改的新源代码重新生成其构建工具) 在项目路径中,运行flutter clean 以删除引用错误Visual Studio 版本的缓存CMake 文件 在项目路径下,运行flutter run -d windows重启构建(这次成功了)

【讨论】:

以上是关于运行颤振桌面应用程序时出现CMake错误的主要内容,如果未能解决你的问题,请参考以下文章

运行我的颤振应用程序时出现错误

尝试在 vscode 上通过颤振运行应用程序时出现此错误

每次在 vscode 中运行我的颤振应用程序时出现此错误 [重复]

在 Android Studio 中构建文件时出现颤振错误

使用颤振运行命令时出现此错误

在 gcloud 上部署烧瓶应用程序时出现“找不到 CMAKE_CXX_COMPILER”错误