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
设置,并确保Debug
是Yes
。
我正在处理一个旧项目,由于某种原因,Debug
和 Release
都是 No
,Xcode 试图寻找用于模拟器构建的 arm64 版本的 Firebase。
【讨论】:
对我来说实际上恰恰相反。对我来说,这只是从 Project Navigator -->将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