链接Firebase C (分析)库时出错

Errors when linking Firebase C++ (analytics) library

本文关键字:出错 分析 Firebase 链接      更新时间:2023-10-16

我正在尝试使用Firebase C 库(2.0.0/2.1.0)将分析支持构建到QT(Android和iOS)应用程序中。当我的应用链接时,我会收到以下错误:

blaze-out/arm-linux-androideabi-4.8-bionic-armv7a-opt/genfiles/firebase/app/client/cpp/include/firebase/variant.h:533: error: undefined reference to 'firebase::Variant::assert_is_type(firebase::Variant::Type) const'
blaze-out/arm-linux-androideabi-4.8-bionic-armv7a-opt/genfiles/firebase/app/client/cpp/include/firebase/variant.h:543: error: undefined reference to 'firebase::Variant::assert_is_type(firebase::Variant::Type) const'
blaze-out/arm-linux-androideabi-4.8-bionic-armv7a-opt/genfiles/firebase/app/client/cpp/include/firebase/variant.h:553: error: undefined reference to 'firebase::Variant::assert_is_type(firebase::Variant::Type) const'
blaze-out/arm-linux-androideabi-4.8-bionic-armv7a-opt/genfiles/firebase/app/client/cpp/include/firebase/variant.h:567: error: undefined reference to 'firebase::Variant::assert_is_string() const'
firebase/analytics/client/cpp/src/analytics_android.cc:228: error: undefined reference to 'firebase::Variant::TypeName(firebase::Variant::Type)'
collect2: error: ld returned 1 exit status

我缺少什么?

我包括以下标题(按照GitHub的示例)

#include "firebase/analytics.h"
#include "firebase/analytics/event_names.h"
#include "firebase/analytics/parameter_names.h"
#include "firebase/analytics/user_property_names.h"

并在我的pri文件中链接到libapp.a and libanalytics.a:

LIBS += -L$$FIREBASE_SDK_LIBS_PATH -lapp
LIBS += -L$$FIREBASE_SDK_LIBS_PATH -lanalytics

我有一个在类似设置中工作的ADMOB示例 - 但是我无法构建分析...

链接顺序很重要。

link libanalytics.a libapp.a和它起作用

LIBS += -L$$FIREBASE_SDK_LIBS_PATH -lanalytics
LIBS += -L$$FIREBASE_SDK_LIBS_PATH -lapp

(我首先链接应用程序)