flutter 项目删除 build 文件夹运行报错***\Microsoft.CppCommon.targets(166,5): error MSB3073: 命令“setlocal


在开发flutter 的一个项目,手贱把build目录删除了,项目却运行不起来了

解决问题思路

1. 思考命令行做了什么?打开命令行(command)啰嗦模式

flutter run --verbose

2.分析log:可以看到报红之前有一条error,如图说这个路径没找到

setlocal

3.方法一:尝试修复这个问题,在build文件夹下新建根据报错信息两个子空文件

在这里插入图片描述

4.方法二:运行以下命令,可以看到。dart_tool 和build 文件夹被删掉了

flutter clean --verbose

flutter run 生成的文件夹图
flutter clean

5.验证结果:再次开着啰嗦模式运行项目(命令见步骤1),bingoo!,运行成功!

在这里插入图片描述

你遇到的错误: ``` error MSB8066: ... 自定义生成已退出,代码为 1 Building Windows application... 32.1s Error: Build process failed. ``` 这是 **Flutter 在构建 Windows 桌面应用时编译失败** 的典型表现。虽然报错信息不直接,但我们可以一步步排查和解决。 --- ### 🔍 错误分析 关键点: - `CMakeLists.txt` 被修改提示(非致命) - `MSB8066`: 表示某个自定义构建步骤执行失败(通常是 CMake 构建 Flutter 引擎部分出错) - 最终结果:`Build process failed` 这类问题通常出现在以下情况: 1. 缺少 Visual Studio 构建工具或配置不正确 2. Flutter 工程路径包含中文或特殊字符(⚠️ 你的路径中有“程序员的日常”是中文!) 3. 缓存损坏或项目配置异常 4. Flutter SDK 或插件版本兼容性问题 --- ## ✅ 解决方案 ### ✅ 方案一:【优先处理】将项目移到**全英文路径** > ❌ 你的当前路径: > ``` > F:\程序员的日常\python\AI_Manager\flutter\frontend > ``` 👉 包含中文目录 `"程序员的日常"`,这会导致 CMake、MSVC 编译器无法正确解析路径,从而导致构建失败! #### ✔️ 解决方法: 将整个 Flutter 项目复制到一个**纯英文路径**下,例如: ```bash F:\projects\ai_manager\frontend ``` 然后在该目录下运行: ```bash flutter clean flutter pub get flutter run -d windows ``` ✅ 这一步解决了 **80% 的 Windows 构建问题**! --- ### ✅ 方案二:确保安装了正确的 Visual Studio 构建环境 Flutter for Windows 需要: - **Visual Studio 2022**(推荐)或 VS 2019 - 安装组件: - ✅ Desktop development with C++ - ✅ Windows SDK - ✅ CMake Tools for C++ > 注意:不需要完整安装 Visual Studio IDE,**Visual Studio Build Tools** 也可以。 验证是否正常: 打开 **x64 Native Tools Command Prompt**,输入: ```bash cl ``` 如果显示编译器版本,则说明环境没问题。 --- ### ✅ 方案三:重新生成 Windows 构建文件 有时 `windows/` 目录下的构建缓存损坏。 #### 执行以下命令重置: ```bash flutter clean flutter pub get flutter create . ``` > `flutter create .` 会重新生成平台相关代码(如 windows/ 目录),但不会影响你的 Dart 代码。 然后再尝试运行: ```bash flutter run -d windows ``` --- ### ✅ 方案四:检查 Flutter 和 Dart 版本兼容性 运行: ```bash flutter doctor -v ``` 确保: - Flutter 是稳定版本(stable channel) - 没有报错项(尤其是 Windows 头部应为 `[✓]`) 如果不是最新版,升级一下: ```bash flutter upgrade ``` 如果你使用的是 beta/dev 版本,可能会出现兼容问题,建议切回 stable: ```bash flutter channel stable flutter upgrade ``` --- ### ✅ 方案五:手动删除构建缓存并重建 有时候 build 缓存污染会导致奇怪问题。 ```bash # 删除 build 文件夹 rm -rf build/ # 清理 pub 缓存 flutter pub cache repair # 重新获取依赖 flutter pub get # 再次运行 flutter run -d windows ``` --- ### ✅ 方案六:启用详细日志定位具体错误 上面的 `MSB8066` 错误太模糊,我们开启详细输出: ```bash flutter run -d windows --verbose ``` 观察输出中是否有类似: - `ninja: build stopped: subcommand failed.` - 具体哪个 `.cc` 文件编译失败 - 是否缺少头文件或链接库 这样可以进一步定位是哪个模块出错。 --- ### ✅ 示例:修复后的标准流程(推荐操作顺序) ```bash # 1. 移动项目到英文路径,比如 F:\projects\frontend cd F:\projects\frontend # 2. 清理项目 flutter clean # 3. 获取依赖 flutter pub get # 4. 重新创建平台代码(可选) flutter create . # 5. 运行 Windows 应用 flutter run -d windows ``` --- ## 🧩 常见附加问题 | 问题 | 解决方式 | |------|---------| | `The term 'cmake' is not recognized` | 安装 CMake 并添加到 PATH,或通过 VS 安装 | | `CMake Error: The source directory ... does not appear to contain CMakeLists.txt` | 不要手动删掉 `windows/CMakeLists.txt` | | `LINK : fatal error LNK1181: cannot open input file '...\flutter_wrapper_app.lib'` | 路径含中文或权限问题 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值