You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Windows桌面应用集成Firebase遇编译错误求助

Flutter Windows平台Firebase集成cmake解压失败及目标缺失问题修复

问题背景

开发Flutter桌面应用,集成以下支持Windows的Firebase包:

  • firebase_core: ^3.8.0
  • cloud_firestore: ^5.5.0
  • firebase_storage: ^12.3.6
  • firebase_auth: ^5.3.3

初始化代码如下:

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:try_auth/Pages/login_page.dart';
import 'package:try_auth/firebase_options.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.windows,
  );

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: LoginPage(),
    );
  }
}

Windows平台运行时出现以下错误:

Launching lib\\main.dart on Windows in debug mode...
cmake -E tar: error: ZIP decompression failed (-5)
CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:119 (add_subdirectory):
  The source directory

    G:/New folder/Flutter/Flutter Projects/try_auth/build/windows/x64/extracted/firebase_cpp_sdk_windows

  does not contain a CMakeLists.txt file.

...(后续目标缺失错误省略)
Error: Unable to generate build files

Exited (1).

注:Chrome平台运行正常。

修复方案

1. 清理项目缓存与构建文件

  • 删除项目根目录下的build/windows文件夹
  • 执行命令:
    flutter clean
    flutter pub get
    
  • 重新尝试运行项目:flutter run -d windows

2. 手动配置Firebase C++ SDK

自动下载SDK时可能出现解压失败,手动操作:

  • 下载与Flutter Firebase插件版本兼容的Firebase C++ SDK(可查看对应插件的README文档确认依赖版本)
  • 将SDK解压到错误提示的路径:G:/New folder/Flutter/Flutter Projects/try_auth/build/windows/x64/extracted/firebase_cpp_sdk_windows,确保该目录下存在CMakeLists.txt
  • 或者设置环境变量FIREBASE_CPP_SDK_DIR,指向你解压后的SDK根目录,插件会直接读取该路径的SDK,无需自动下载

3. 移除路径中的空格

项目路径包含空格(如New folder、Flutter Projects)会导致cmake处理路径异常,建议将项目移动到无空格的路径下,例如:
G:/FlutterProjects/try_auth

4. 检查构建工具版本

  • 确保安装CMake 3.18以上版本,并已添加到系统PATH中
  • 确认Visual Studio已安装**Desktop development with C++**工作负载,包含MSVC编译器、Windows SDK等必要组件

验证

完成上述步骤后,重新运行flutter run -d windows,检查是否正常启动。

内容的提问来源于stack exchange,提问作者Ahm2025

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:24:51