运行颤振桌面应用程序时出现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 devices 和 flutter 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.stamp
和flutter_tools.snapshot
(以使flutter 使用您在上面更改的新源代码重新生成其构建工具)
在项目路径中,运行flutter clean
以删除引用错误Visual Studio 版本的缓存CMake 文件
在项目路径下,运行flutter run -d windows
重启构建(这次成功了)
【讨论】:
以上是关于运行颤振桌面应用程序时出现CMake错误的主要内容,如果未能解决你的问题,请参考以下文章