【问题标题】:Linker fails with exit code 1.链接器失败,退出代码为 1。
【发布时间】:2016-12-05 10:40:28
【问题描述】:

我有一个简单的 iOS swift 3 项目,在 XCode 8.1 (8B62) 中运行,可以正常编译,也可以执行。 将它推送到我的 SVN 存储库上,我的同事也得到了它,也在工作。一切正常。

我们必须添加一个 pod,所以完成了。 (这个 pod 是一个基于 Cocoa Lumber jack 的小日志工具,在我们所有的项目中都使用了很长时间)我的 2 位同事在几分钟内就让它工作了。但是,我得到链接器失败错误。链接器错误是关于 -lCocoaLumberjack,但如果我添加任何其他 pod,链接器遇到的第一个 pod 会使其崩溃。

我已经尝试过针对其他类似问题提出的所有技巧,清理项目,清除派生数据,重新启动 xcode,更改架构参数,清理 pod,解除集成 pod,清理测试主机,删除测试目标......一千次

我已经删除了项目,从repo下载回来,同样的问题。

我还将 cocoapods 更新到 v1.1.1。 (和我的同事一样)。 使用_frameworks!或者似乎从来没有做不同的事情。

由于我的同事拥有完全相同的项目、源和 pod,我想我可以排除项目、工作区、构建配置/设置错误。那么我在哪里可以检查可能导致问题的链接器、xcode 或环境变量的其他配置?

感谢您的帮助

如果有帮助,请从链接器记录:

Ld /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Inwebo.framework/Inwebo normal arm64
    cd /Users/romain/Documents/Projects/MMXComponents/Inwebo/trunk
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/CocoaLumberjack -L/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Logger -L/Users/romain/Documents/Projects/MMXComponents/Inwebo/trunk/Inwebo/iwlib -F/Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos -filelist /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo.LinkFileList -install_name @rpath/Inwebo.framework/Inwebo -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -Xlinker -add_ast_path -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo.swiftmodule -ObjC -lCocoaLumberjack -lLogger -lmaccess -lPods-Inwebo -single_module -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Intermediates/Inwebo.build/Debug-iphoneos/Inwebo.build/Objects-normal/arm64/Inwebo_dependency_info.dat -o /Users/romain/Library/Developer/Xcode/DerivedData/Inwebo-cjsvoynkmpchgtfqkxxactulxfci/Build/Products/Debug-iphoneos/Inwebo.framework/Inwebo

ld: library not found for -lCocoaLumberjack
clang: error: linker command failed with exit code 1 (use -v to see invocation)

播客文件:

platform :ios, '8.0'
inhibit_all_warnings!
#use_frameworks! 

# ―――  Pre-Install  ――――――――――――――――――― #

plugin 'cocoapods-art', :sources => [
    'master',
    'cocoapods-psa'
]
# ―――  Install  ―――――――――――――――――――――― #

def shared_pods
   pod 'Logger',                '~> 1.0'
end

target 'Inwebo' do
    shared_pods
end

【问题讨论】:

  • 模拟器能用吗?
  • @shallow 想法:不,同样的链接器错误。

标签: swift xcode linker cocoapods


【解决方案1】:
  • 清理并构建项目,然后运行应用程序
  • 仍然有错误?检查构建设置部分中的启用位码选项。

尝试反转选项并重试(如果它打开,则关闭它,反之亦然)

此问题有时是由于您的项目和库之间的“启用位码”选项不匹配而发生的。

【讨论】:

【解决方案2】:

今天最后一次机会,我已经卸载并重新安装了 Xcode。 这就是解决问题。 我只能假设它被某种方式损坏了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-03
    • 2015-08-06
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    相关资源
    最近更新 更多