Flutter Windows应用程序无法编译



我想在windows x64设备上调试flutter演示应用程序。但它总是失败,并出现1个错误和1个警告这是我的调试控制台:

Launching libmain.dart on Windows in debug mode...
libmain.dart:1
F:flutflutter_application_5windowsrunnerutils.cpp(52,43): error C2220:  warning treated as error - no 'object' file generated [F:flutflutter_application_5buildwindowsrunnerflutter_application_5.vcxproj]
F:flutflutter_application_5windowsrunnerutils.cpp(52,43): warning C4018:  '>': signed/unsigned mismatch [F:flutflutter_application_5buildwindowsrunnerflutter_application_5.vcxproj]
Exception: Build process failed.

这是我的扑动医生日志:

[flutter] flutter doctor -v
[√] Flutter (Channel stable, 3.0.5, on Microsoft Windows [Version 10.0.19044.1826], locale en-US)
• Flutter version 3.0.5 at C:srcflutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision f1875d570e (6 weeks ago), 2022-07-13 11:24:16 -0700
• Engine revision e85ea0e79c
• Dart version 2.17.6
• DevTools version 2.12.2
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at C:UsersMEMPHISAppDataLocalAndroidsdk
• Platform android-33, build-tools 33.0.0
• Java binary at: C:Program FilesAndroidAndroid Studiojrebinjava
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:Program FilesGoogleChromeApplicationchrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Enterprise 2019 16.1.0)
• Visual Studio at C:Program Files (x86)Microsoft Visual Studio2019Enterprise
• Visual Studio Enterprise 2019 version 16.1.28917.181
• Windows 10 SDK version 10.0.17763.0
[√] Android Studio (version 2021.2)
• Android Studio at C:Program FilesAndroidAndroid Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
[√] VS Code (version 1.70.2)
• VS Code at C:UsersMEMPHISAppDataLocalProgramsMicrosoft VS Code
• Flutter extension version 3.46.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19044.1826]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 104.0.5112.102
• Edge (web)        • edge    • web-javascript • Microsoft Edge 104.0.1293.63
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
exit code 0

我可以在edge、chrome、android上调试演示应用程序,没有任何问题那么怎么了?

(Microsoft)C++编译器在utils.cpp文件中引发警告:

windowsrunnerutils.cpp(52,43): warning C4018: '>': signed/unsigned mismatch

它被配置为将警告视为错误,因此编译失败:

windowsrunnerutils.cpp(52,43): error C2220: warning treated as error - no 'object' file generated

我不认为/WX(警告为错误)可以通过构建脚本(打开它)以外的方式进行配置。

我怀疑有两件事:

  • 编译器的企业版(您有)比社区版(我有)稍微挑剔一些。您可以编辑项目文件以将警告作为错误关闭,或者为此警告添加异常(详细信息请参阅下文)
  • 您的编译器需要升级。我有16个;你有16个。1.一些东西。再次运行Visual Studio安装程序来升级它。(例如:我刚刚运行了它,它建议我从16.11.10升级到16.11.18…)

编辑项目文件

winapp.vcxproj项目文件(显然)是由CMake生成的。编辑windowsCMakeLists.txt并更改以下行:

target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100")

让它看起来像这样:

target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100" /wd4018)

我不知道这些名言是从哪里来的;你可能需要它们。或者,删除/WX位。

我也遇到了同样的问题;bdlukaa";解决了这个问题:

  1. 删除windows文件夹
  2. 在终端中运行flutter create .以重新创建windows文件夹
  3. 重新运行你的应用程序(我希望它能正常工作)

最新更新