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

标签 android c++ qt firebase

我正在尝试使用 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

我错过了什么?

我包含以下 header (遵循 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 和 libanalytics.a:

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

我有一个在类似设置中运行的 AdMob 示例 - 但我无法构建分析...

最佳答案

事实证明链接的顺序很重要。

在 libapp.a 之前链接 libanalytics.a 并且它可以工作

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

(我首先链接应用程序)

关于android - 链接 Firebase C++(分析)库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204085/

相关文章:

android - 滑动抽屉内容与 View 重叠

C++分区问题的优雅解决方案

c++ - 通过引用传递未知等级的数组

c++ - 在用 Qt 编写时解析 XML 文件

c++ - QLCDNumber 数字不能居中

c++ - 从不同的 dll 继承时信号未正确导出

android - ExoPlayer 不播放 Kitkat 中原始文件夹中的视频

java - FFT 中频率检测的问题

android - 在项目上找不到属性 'uninstallDebug'

c++ - 返回值总是临时的吗?