【问题标题】:ld: library not found for -lCocoaLumberjackld:找不到 -lCocoaLumberjack 的库
【发布时间】:2017-07-13 21:05:29
【问题描述】:

我更新了 SalesforceSDKCore 4.3.1SalesforceRESTApi 4.3.1 的 pod。当我执行pod install 时,它又安装了 cocoaLumberjack 库,我想这是一个依赖库。成功安装 Pods 后,我无法成功构建,因为我收到此错误 -

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

我删除了我的库搜索路径,在其他链接器标志中添加/删除了 inerited,似乎没有任何效果。这些是我的搜索路径和其他链接器标志设置。

我的 Pod 文件 -

# platform :ios, '8.0'

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

# Pods for Custom
  source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git'
  source 'https://github.com/CocoaPods/Specs.git'

pod 'SalesforceSDKCore'
pod 'XMLDictionary', '~> 1.4'
pod 'SalesforceNetwork'
pod 'SmartStore'
pod 'SmartSync'

end

【问题讨论】:

  • 您是否尝试删除您的 Library .a 文件的引用并再次将其添加到相同的路径?
  • 如何删除 libCocoaLumberjack.a 文件?它位于 Pods-> Products 文件夹中。我尝试在 Build Phases -> Link binary with libraries 中分别添加 .a 文件。我还是有问题..
  • 所以您正在使用 CocoaPod,所以您正在尝试使用工作区或项目?你可以在这里发布你的 pod 文件吗?
  • 更新:复制 Pod 文件内容。
  • 小心。 'SalesforceSDKCore', '~> 4.3.1'需要CocoaLumberjack '~> 2.3.0',但是根据你的PodFile,你没有指定版本,应该是最后一个3.1,你可能会遇到重复的问题。我建议从您的 PodFile 中删除 CocoaLumberjack,并使用来自 SalesforceSDKCore 的版本。

标签: ios objective-c ipad xcode8 linker-errors


【解决方案1】:

我遇到了同样的问题。我尝试了很多解决方案,其中一些是:

  1. 文件/工作区设置/派生数据箭头 -> 删除 DerivedData 文件夹,清空垃圾箱
  2. 终端 -> pod deintegrate , pod install

如果您重命名了目标的名称,则:

  1. 目标/构建设置/测试主机 :: $(BUILT_PRODUCTS_DIR)/TargetName.app/TargetName

我真的很讨厌这个链接器命令失败的问题。我一直得到它,每次我需要遵循另一个解决方案来解决这个问题。我一定为这个 s#$t 付出了超过 30 个小时的生命。

【讨论】:

    猜你喜欢
    • 2014-12-13
    • 2021-10-24
    • 2017-03-31
    • 1970-01-01
    • 2011-09-26
    • 2018-03-10
    • 2017-08-08
    • 2020-08-10
    • 1970-01-01
    相关资源
    最近更新 更多