Flutter for Desktop,Visual Studio 2022问题。

7

当我尝试在Windows上运行Flutter应用程序时,出现了这个错误消息:

Building Windows application...
CMake Error at CMakeLists.txt:2 (project):
  Generator

    Visual Studio 16 2019

  could not find any instance of Visual Studio.

我已经安装了Visual Studio 2022,并且安装了许多工具,就像下面这张图片中展示的那样: enter image description here
and this what I got from Flutter Doctor:
E:\mp\my_class>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, 2.8.0-3.2.pre, on Microsoft Windows [Version 10.0.22000.318], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.2)
[√] Android Studio (version 2020.3)
[√] IntelliJ IDEA Ultimate Edition (version 2021.2)
[√] VS Code (version 1.62.3)
[√] Connected device (3 available)

• No issues found!
6个回答

4

在撰写本文时,Visual Studio 2022仅支持2.9版本或更高版本(目前只有master通道可用)。而doctor不显示任何指示表明2022无法使用是一个错误


1
如果您想要在Flutter 2.8.x中使用Visual Studio 2022,可以在此处找到有关如何修复CMake的说明:https://dev59.com/QMLra4cB1Zd3GeqPQLoL#69951396 - David Fraser
1
使用 Flutter 2.10,现在可以使用 VS 2022,甚至只需安装 C++ BuildTools 包,无需实际的 IDE。https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022 - User Rebo

1

Flutter 2.10应该可以解决这个问题。已经有一个现成的解决方案,就是将VSCODE 16 2019重命名为VSCODE 17 2022。


1

这个问题可以通过卸载包括Visual Studio 2022在内的所有组件,然后按照错误信息中所示重新安装Visual Studio 2019版本16来解决。现在它已经可以工作了!实际上,有人回答了这个解决方案,但他好像删除了他的回答...顺便说一句,谢谢。


非常感谢!这对我有用。我正在使用带有Flutter插件的IntelliJ Community Edition 2021.3.1。 - Jean-Pierre Schnyder

0

暂时不考虑CMakeSettings.json。

你能用独立的CMake构建VS 2019/2017项目吗?

cd foobar/ cmake -B build/vs2019 -G "Visual Studio 16 2019" cmake -B build/vs2017 -G "Visual Studio 15 2017" 如果这样做不起作用,那么说明你的系统上没有必要的软件安装。你需要查看你的VS安装。

如果这样还是不行,考虑刷新你的安装:

vs studio repair

我理解这很令人沮丧。这是微软决定制作他们的C++构建环境的方式。他们决定将编译器与IDE绑定在一起。这种方法有其权衡之处。

在我们公司,我们实际上甚至不依赖VS来使用MSVC编译我们的驱动程序。因为确保开发人员使用相同的编译器很麻烦。我们实际上在MSVC周围运行自己的打包系统,以确保我们具有易于复制的构建和严格的语义版本控制。但是尝试使用Android Studio。这意味着需要额外的工作来了解MSVC C++环境,但这也意味着我们不必担心更新Visual Studio会破坏开发人员的构建。或者开发人员A使用的编译器与开发人员B略有不同。或者开发人员使用不同的编译器而不是我们的CI。


谢谢你,但我已经修复了,但它仍然显示相同的问题。实际上,我以前从未使用过Visual Studio或Cmaker,所以我不明白你的意思。我是一个Flutter开发者。 - Osama Mohammed

-1

我曾经遇到过同样的问题,以下是我解决的方法:

  1. 检查您是否安装了Microsoft Redistributable,如果没有,请从Microsoft官方网站下载并安装。

https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

2. 安装Visual Studio 19。您仍然可以保留Visual Studio 22(在这种情况下,只能支持2.9或更高版本)。 3. 重启您的IDE。 4. 清理项目并重新构建它。 5. 运行您的项目并享受它。 这应该会产生魔力。

-2

我认为这是由于系统 C++ 环境未部署所致。

请按照以下步骤操作:

- 打开 Visual Studio

- 转到“工具”->“获取工具和功能”

- 在“工作负载”选项卡中启用“使用 C++ 进行桌面开发”

- 单击右下角的“修改”按钮

然后,Visual C++ 用于 CMake 的工具将被启用

请告诉我是否有效


但是我已经完成了这个操作,正如您在图像中所看到的那样(使用C++进行桌面开发)已经启用,但仍然存在同样的问题。 - Osama Mohammed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接