苹果Mach-O链接器错误,我不知道该怎么办

我无法编译我的项目的设备或模拟器了。 我得到了13个苹果Mach-O-Linker错误。 这一切都是在我尝试使用sharekit失败之后开始的。 这是来自错误的日志:

ld: warning: directory not found for option '-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks' Undefined symbols for architecture armv7: "_OBJC_CLASS_$_NSURLRequest", referenced from: objc-class-ref in Brandsonic_Web_mobileAppDelegate.o objc-class-ref in Brandsonic_Web_mobileViewController.o "_OBJC_CLASS_$_NSAutoreleasePool", referenced from: objc-class-ref in main.o "_objc_msgSendSuper2", referenced from: -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileViewController didReceiveMemoryWarning] in Brandsonic_Web_mobileViewController.o -[Brandsonic_Web_mobileViewController dealloc] in Brandsonic_Web_mobileViewController.o "_objc_setProperty", referenced from: -[Brandsonic_Web_mobileAppDelegate setWindow:] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileAppDelegate setViewController:] in Brandsonic_Web_mobileAppDelegate.o "__objc_empty_vtable", referenced from: _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o _OBJC_METACLASS_$_SecondView in SecondView.o _OBJC_CLASS_$_SecondView in SecondView.o "_objc_msgSend", referenced from: _main in main.o -[Brandsonic_Web_mobileAppDelegate application:didFinishLaunchingWithOptions:] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileAppDelegate GOOGLE] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileAppDelegate YOUTUBE] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileAppDelegate WIKI] in Brandsonic_Web_mobileAppDelegate.o -[Brandsonic_Web_mobileViewController webView:shouldStartLoadWithRequest:navigationType:] in Brandsonic_Web_mobileViewController.o ... "__objc_empty_cache", referenced from: _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o _OBJC_METACLASS_$_SecondView in SecondView.o _OBJC_CLASS_$_SecondView in SecondView.o "_OBJC_CLASS_$_NSObject", referenced from: _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o "___CFConstantStringClassReference", referenced from: CFString in Brandsonic_Web_mobileAppDelegate.o CFString in Brandsonic_Web_mobileAppDelegate.o CFString in Brandsonic_Web_mobileAppDelegate.o CFString in Brandsonic_Web_mobileViewController.o CFString in Brandsonic_Web_mobileViewController.o CFString in Brandsonic_Web_mobileViewController.o CFString in Brandsonic_Web_mobileViewController.o ... "_OBJC_CLASS_$_NSKeyedUnarchiver", referenced from: objc-class-ref in Brandsonic_Web_mobileViewController.o "_OBJC_CLASS_$_NSUserDefaults", referenced from: objc-class-ref in Brandsonic_Web_mobileViewController.o "_OBJC_CLASS_$_NSURL", referenced from: objc-class-ref in Brandsonic_Web_mobileAppDelegate.o objc-class-ref in Brandsonic_Web_mobileViewController.o "_OBJC_METACLASS_$_NSObject", referenced from: _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o _OBJC_METACLASS_$_SecondView in SecondView.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) ' 

我该如何解决? 请帮忙。

对于每一个有类似的错误。 如果发生这种情况,通常可以删除点下的“path”

目标 – >生成设置 – >库searchpath 在这里输入图像说明

当一个框架被添加到一个项目不止一次时,会发生这个错误。

  • 你可以通过删除重复来解决这个问题。 要find它,请在Xcode项目导航器中select框架,然后select在Finder中显示 。 然后清理并build立你的项目。

如果您遗失了框架头文件或对它们的引用,也可能导致这种情况。

  • 在这种情况下,您应该尝试删除SDK或框架并重新添加。

祝你好运。

如果使用CocoaPods安装了依赖项,请确保通过单击.xcworkspace文件而不是 .xcodeproj文件来打开XCode项目。

好像项目文件可能已经被破坏了。

解决这个问题的最可靠的方法是创build一个新的项目,并将文件和旧的info.plist移到顶部。

解决这个问题的下一个最可能的方法是在当前项目中创build一个新的目标,看看是否会编译(如果你有旧的目标的特殊标志,你会想复制它们)。

你也可以尝试编译Release和Build,如果其中的一个工作看所有的编译器选项,看看有什么不同。

如果你为Sharekit添加了一个头部searchpath,可能试着清除整个头部searchpath,看看是否能解决问题。 还要确保你的项目还包括一个全新的项目包含的框架(UIKit和NSFoundation,可能还有其他的)。

添加.m文件以编译源页面。

脚步:-

  1. 点击他在导航菜单中的项目
  2. select目标
  3. select构build阶段
  4. select+button并在编译源中添加文件。

希望能帮助任何人解决这个问题

问题是你的道路上的空间:

xcode使用下面的链接器开关:

 -F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks 

而且由于没有引用它不会起作用。 (它正在寻找文件夹"/Users/bbrandy95/Documents/Broken"

您应该重命名目录,或者查看项目设置并将引号添加到目录中。 (但这可能是棘手的发现)

我也有同样的问题45种相同types的错误,当我添加到我的项目libxml2.dylib错误消失。

在某些情况下,您的库searchpath是空的。因为有许多Apple-mac-o链接器错误。

也见我的回答。

在OCUnit中使用Core Data类的Apple Mach-O链接程序错误

我有这个问题,现在为我的情况select一个更新的iOS版本,因为部署目标纠正了我这个。 我的项目被设置为默认情况下部署到iOS 5,并将其更改为7(最近)做了诀窍。

对于任何刚开始iOS开发的人,都可以通过在导航器>部署信息>部署目标中单击您的XCode项目文件并从下拉菜单中select适当的版本来完成。

我怀疑这会解决其他人遇到的一些问题,但是可能会有几个人和我在同一条船上。

这是因为该项目在编译源中插入了核心数据的xcdatamodeld文件。 select你的项目 – > Build Phase – > Compile Sources并删除projectName.xcdatamodeld文件。 还要检查你是否导入了.m文件而不是.h文件,它也给出了相同的链接器错误。 检查所有#import代码。 并检查是否在库中添加了核心数据框工作,并检查了导入的核心数据.h文件。 检查NSManagedObject创build并导入它的文件。 只要尝试并回复我,如果还有任何错误。

我有同样的问题,

我只是简单地将Build Option – > Enable BitcodeNO

我用自己开发的椰子树面对这个问题。

错误是:苹果Mach-O链接器错误

事实certificate,我已经定义了一个协议,并实现了一个协议扩展。 协议扩展的一种方法是公开的,但协议本身不是。 这导致苹果Mach-O链接器错误。

例:

协议MyProtocol {var field:String {get}}

extension MyProtocol { public func giveMeSomething() – > String}

公共类MyClass:MyProtocol {}

在描述中提到的错误MyClass引用从MyProtocol – > MyProtocol引用giveMeSomething()…

所以,解决办法是让Myprotocol公开

希望能帮助别人。