Flutter集成Firebase时Windows平台CMake构建错误求助
错误信息
CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:119 (add_subdirectory):
源目录D:/infinity_pms_client/build/windows/x64/extracted/firebase_cpp_sdk_windows不包含CMakeLists.txt文件。
CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:125 (get_target_property):
调用get_target_property()时目标"firebase_app"不存在。CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:126 (string):
string子命令REPLACE至少需要四个参数。CMake Error at flutter/ephemeral/.plugin_symlinks/firebase_core/windows/CMakeLists.txt:127 (set_target_properties):
set_target_properties无法找到要添加属性的目标:firebase_app(firebase_auth、firebase_storage同类错误略)
核心原因
Firebase C++ SDK未正确自动下载到指定构建目录,导致CMake无法读取配置文件,进而引发后续目标不存在的连锁错误。
解决步骤
1. 清理构建缓存与依赖
- 删除项目根目录下的
build/windows文件夹 - 删除
flutter/ephemeral/.plugin_symlinks下的firebase相关插件链接 - 执行命令:
flutter clean flutter pub get
2. 手动补全Firebase C++ SDK
- 下载与当前Flutter Firebase插件版本兼容的Windows C++ SDK
- 将SDK解压到错误提示路径
D:/infinity_pms_client/build/windows/x64/extracted/firebase_cpp_sdk_windows,确保根目录存在CMakeLists.txt
3. 锁定兼容的Firebase插件版本
在pubspec.yaml中指定经过验证的稳定版本,避免版本冲突:
dependencies: flutter: sdk: flutter firebase_core: ^2.15.0 firebase_auth: ^4.10.0 firebase_storage: ^11.2.0
4. 检查Windows构建环境
- 确保安装CMake 3.24及以上版本
- 确保安装Visual Studio 2022并勾选「Desktop development with C++」组件
- 执行
flutter doctor -v验证环境配置达标
5. 强制重新触发SDK下载
- 删除项目根目录下的
.dart_tool文件夹 - 再次执行
flutter pub get,强制插件重新下载配置Firebase C++ SDK
版本适配建议
- Flutter版本:优先使用3.10.0及以上稳定版
- Firebase插件版本:尽量使用官方最新稳定版,避免跨大版本组合使用
内容的提问来源于stack exchange,提问作者isra khan

