Flutter Windows应用使用firebase_core 2.15.10遇构建错误
解决Flutter Windows下firebase_core 2.15.10构建错误
错误原因
MSVC编译器将strncpy的安全警告(C4996)判定为错误,而firebase_core依赖的Firebase C++ SDK头文件variant.h中使用了这个被标记为不安全的函数,再加上项目默认开启了“警告视为错误”的编译规则,最终导致构建失败。
可行解决方案
1. 全局添加编译定义(推荐)
打开Flutter项目的windows/CMakeLists.txt,在flutter_get_dependencies()代码行之后,添加一行编译定义:
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
这会直接禁用strncpy的弃用警告,让构建绕过该错误。
2. 调整firebase_core版本
- 若记得之前能正常运行的版本,可降级到对应版本,在
pubspec.yaml中指定:dependencies: firebase_core: 2.14.0 # 替换为你之前可用的版本号 - 也可升级到最新的firebase_core稳定版,官方大概率已经修复了C++ SDK的这个问题。
3. 临时修改Firebase头文件(仅临时应急)
找到错误提示中的variant.h路径:C:\Users\XXXX\AndroidStudioProjects\delete_later\build\windows\extracted\firebase_cpp_sdk\include\firebase\variant.h,在文件最顶部添加:
#define _CRT_SECURE_NO_WARNINGS
注意:删除build目录或重新拉取依赖后,该修改会失效,需重新操作。
内容的提问来源于stack exchange,提问作者Danish Ajaib
相关产品推荐
相关产品推荐

