ld:找不到-lFirebaseCore clang的库:错误:链接器命令失败,退出代码为1(使用-v查看调用)

Posted

技术标签:

【中文标题】ld:找不到-lFirebaseCore clang的库:错误:链接器命令失败,退出代码为1(使用-v查看调用)【英文标题】:ld: library not found for -lFirebaseCore clang: error: linker command failed with exit code 1 (use -v to see invocation) 【发布时间】:2018-08-11 07:29:10 【问题描述】:

我使用react-native-fcm 进行远程推送通知,但它给出了这个错误:

ld:找不到 -lFirebaseCore 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

吊舱:

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'SefrTaSad' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for SefrTaSad

  pod 'Firebase'
  pod 'Firebase/Messaging'

end

Podfile.lock:

PODS:
  - Firebase (5.5.0):
    - Firebase/Core (= 5.5.0)
  - Firebase/Core (5.5.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 5.1.0)
  - Firebase/CoreOnly (5.5.0):
    - FirebaseCore (= 5.1.0)
  - Firebase/Messaging (5.5.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (= 3.1.0)
  - FirebaseAnalytics (5.1.0):
    - FirebaseCore (~> 5.1)
    - FirebaseInstanceID (~> 3.2)
    - GoogleAppMeasurement (~> 5.1)
    - GoogleUtilities/AppDelegateSwizzler (~> 5.2.0)
    - GoogleUtilities/MethodSwizzler (~> 5.2.0)
    - GoogleUtilities/Network (~> 5.2)
    - "GoogleUtilities/NSData+zlib (~> 5.2)"
    - nanopb (~> 0.3)
  - FirebaseCore (5.1.0):
    - GoogleUtilities/Logger (~> 5.2)
  - FirebaseInstanceID (3.2.0):
    - FirebaseCore (~> 5.1)
    - GoogleUtilities/Environment (~> 5.2)
  - FirebaseMessaging (3.1.0):
    - FirebaseCore (~> 5.0)
    - FirebaseInstanceID (~> 3.0)
    - GoogleUtilities/Reachability (~> 5.2)
    - Protobuf (~> 3.1)
  - GoogleAppMeasurement (5.1.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 5.2.0)
    - GoogleUtilities/MethodSwizzler (~> 5.2.0)
    - GoogleUtilities/Network (~> 5.2)
    - "GoogleUtilities/NSData+zlib (~> 5.2)"
    - nanopb (~> 0.3)
  - GoogleUtilities/AppDelegateSwizzler (5.2.2):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (5.2.2)
  - GoogleUtilities/Logger (5.2.2):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (5.2.2):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (5.2.2):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (5.2.2)"
  - GoogleUtilities/Reachability (5.2.2):
    - GoogleUtilities/Logger
  - nanopb (0.3.8):
    - nanopb/decode (= 0.3.8)
    - nanopb/encode (= 0.3.8)
  - nanopb/decode (0.3.8)
  - nanopb/encode (0.3.8)
  - Protobuf (3.6.1)

DEPENDENCIES:
  - Firebase
  - Firebase/Messaging

SPEC REPOS:
  https://github.com/cocoapods/specs.git:
    - Firebase
    - FirebaseAnalytics
    - FirebaseCore
    - FirebaseInstanceID
    - FirebaseMessaging
    - GoogleAppMeasurement
    - GoogleUtilities
    - nanopb
    - Protobuf

SPEC CHECKSUMS:
  Firebase: 8c957f9cb3852b519180fb378801b7eeeba4d288
  FirebaseAnalytics: d4a260c114aec0d765ab5b9c404ac63de1d29381
  FirebaseCore: ee4b35cf8c8e781da296cc7c15125e4608bb954d
  FirebaseInstanceID: 8cd2c6cfe7b9ab65ce7e248f6da7f26f6775b9be
  FirebaseMessaging: f67b3719f520ee200da0e20ce577fe2bce0c01d0
  GoogleAppMeasurement: e785bdb86d3d280abc778156cec323a975f11d1d
  GoogleUtilities: 06b66f9567769a7958db20a92f0128b2843e49d5
  nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3
  Protobuf: 1eb9700044745f00181c136ef21b8ff3ad5a0fd5

PODFILE CHECKSUM: 5128fcc348aba846d880d9bb9978b4bf02c0718d

COCOAPODS: 1.5.3

使用 react-native 构建项目 我制作 appId、key 和 profile 该应用程序已成功连接到 Firebase 控制台,但是当我想使用 xcode 将其存档时,它会出现此错误:

我该如何解决这个错误?

【问题讨论】:

尝试检查该库是否已包含在Xcode -> Build Phases中,如果没有则手动添加并重建 也试试***.com/a/51021185/728287 - 它对我有用,因为我忘了我跑了pod init,它创建了一个.xworkspace @PritishVaidya 我面临同样的问题,但我根本找不到 FirebaseCore.a。我该如何手动添加它,还是你的意思是别的? 您需要先将 xcodeproj 文件包含到库中。 【参考方案1】:

我解决了打开“PROJECT-NAME”.xcworkspace

【讨论】:

Unity3D 创建了 XCodeProject 及其依赖项,所以我双击 .xcodeproj 文件。馊主意!正如 thodwris 所说:要加载依赖项,我们必须打开 .xcworkspace 文件! 这对我来说是真的,因为我使用了一个由 Cordova 创建的 Xcode 项目。【参考方案2】:

检查Build Settings 中的Build Active Architecture Only 设置,并确保DebugYes

我正在处理一个旧项目,由于某种原因,DebugRelease 都是 No,Xcode 试图寻找用于模拟器构建的 arm64 版本的 Firebase。

【讨论】:

对我来说实际上恰恰相反。对我来说,这只是从 Project Navigator --> --> Info --> Configurations(所有这些都在 XCODE 中)中删除调试配置的问题。去弄清楚为什么......【参考方案3】:

libRNFirebase.a 添加到您的Linked Framework and Libraries

【讨论】:

你是怎么做到的?我在 xcode 项目中找不到 libRNFirebase.a。 @JuneWang 似乎 Firebase 没有正确链接到您的 Xcode 项目。尝试用 cocopods 安装它。您也可以按照medium.com/@anum.amin/…中的说明进行操作。 你说得对,我忘记将 APN 链接到 Firebase。谢谢:)【参考方案4】:

在 Podfile 中使用

pod 'Firebase/Core'

在此之后转到终端 pod 更新

【讨论】:

这其实是firebase.google.com/docs/ios/setup#available-pods明确禁止的【参考方案5】:

就我而言,

当命令pod install,

显示 pod install 黄色警告

使用 $(inherited) 标志,或

从目标中删除构建设置。


所以当xcode,project

项目 => 构建设置 => 库搜索路径

以非递归方式添加$(inherited)

那么问题就解决了。

【讨论】:

【参考方案6】:

确保所有 ios 目标版本与 pod 文件中的相同。

【讨论】:

【参考方案7】:

我的情况不同,但也许可以帮助某人。

就我而言,我有我的应用程序和一个通知服务扩展,这是出现错误的项目。

我尝试了一切,但没有任何效果,我花了将近 4 个小时试图找到解决方案,但完全没有成功。所以毫无理由,我决定检查为我的项目和通知服务扩展定义的 iOS 版本,它是不同的,当我的项目是 11.0 版本时,扩展使用的是 10.0。

所以我将扩展程序放入 11.0 以匹配我的项目,瞧,它起作用了。

【讨论】:

以上是关于ld:找不到-lFirebaseCore clang的库:错误:链接器命令失败,退出代码为1(使用-v查看调用)的主要内容,如果未能解决你的问题,请参考以下文章

链接器命令失败,退出代码1(使用-v查看调用)在xcode 10和ld:找不到-lFirebaseCore库

/usr/bin/ld: 找不到 -ldlib /usr/bin/ld: 找不到 -lcblas /usr/bin/ld: 找不到 -llapack

cocoapods - ld:找不到框架

ld:找不到框架 FirebaseNanoPB

链接器命令失败:ld:找不到文件

ld: 找不到 -lnetcdf 的库