【发布时间】:2021-06-10 13:57:56
【问题描述】:
我使用 QT Creator(4.1.1) 和 Qt Framework(5.14.1) 编写跨平台应用程序。我想启用 firebase,所以我下载了 firebase C++ sdk(最新版本):link 然后我尝试将它连接到 *.pro - 文件中的我的项目。选项一 - 使用帮助框架:
QMAKE_LFLAGS += -F$$PWD/fr_universal/ -ObjC \
-framework StoreKit \
-framework firebase_analytics \
-framework firebase
选项二 - 借助静态库:
LIBS += -ObjC -L$$PWD/universal/ -lfirebase_app -lfirebase_analytics
我还连接了包含文件 firebase 并编写了简单的示例代码:
#include <firebase/analytics.h>
#include <firebase/app.h>
int main(int argc, char *argv[])
{
firebase::App* contextFirebase(nullptr);
return 0;
}
编译还是失败了。 错误:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FIRAnalytics", referenced from:
objc-class-ref in firebase_analytics(analytics_ios.mm.o)
"_OBJC_CLASS_$_FIRApp", referenced from:
objc-class-ref in firebase(app_ios.mm.o)
"_OBJC_CLASS_$_FIROptions", referenced from:
objc-class-ref in firebase(app_ios.mm.o)
"_OBJC_CLASS_$_FIRConfiguration", referenced from:
objc-class-ref in firebase(log_ios.mm.o)
操作系统:macOS Big Sur 11.1
附:
-
firebase sdk 的路径正确
-
我不使用 Cocoapods
-
我尝试为 XCode 12.3 制作简单的示例 - 并得到相同的错误
-
我使用帮助命令行工具 (lipo -info) 检查静态 lib firebase。输出:
是:armv7 i386 x86_64 arm64
【问题讨论】: