为什么我的应用程序突然没有构建并抱怨这些“ld”和“clang”错误?

时间:2014-01-06 02:08:19

标签: ios objective-c xcode clang ld

这些错误让我感到困惑,我不知道我做了什么来触发它们:

ld: warning: directory not found for option '-F/"..."'
ld: warning: ignoring file "..."/iOS 7/Crashlytics.framework/Crashlytics, file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (i386): /"..."/Crashlytics.framework/Crashlytics
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Crashlytics", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我不知道它在说什么。我该如何解决?

3 个答案:

答案 0 :(得分:29)

来自Crashlytics支持:

  1. 从项目中删除Crashlytics.framework。

  2. 在终端中运行此功能,将框架复制到桌面:

  3.   

    ditto -xk   /Applications/Fabric.app/Contents/Resources/com.crashlytics.sdk.ios-default.zip   〜/桌面/

    1. 添加&将框架复制回项目。

答案 1 :(得分:2)

我正在使用Crashlytics和cocoapods,并在升级到Fabric后面临同样的错误。

修复步骤:

  1. 删除"其他链接器标记"并在其中粘贴$(继承)
  2. 删除"其他图书馆员旗帜"并粘贴$(OTHER_LDFLAGS)
  3. 从Pods目录中删除Crashlytics.framework
  4. 运行pod install。您将在" ./ Pods / Fabric / Crashlytics.framework / Versions / A / Resources / info.plist中看到类似的内容
  5. enter image description here

答案 2 :(得分:-5)

您链接到项目的框架版本仅适用于Device。使用fabric桌面应用程序将正确的框架链接到项目。