XCode 6.0.1上的Apple Mach-O链接器错误 [英] Apple Mach-O Linker Error on XCode 6.0.1

查看:718
本文介绍了XCode 6.0.1上的Apple Mach-O链接器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已将我的XCode更新为6.0.1
在此更新之前,我能够在模拟器和我的设备中构建我的项目。但现在,它给我 Apple Mach-O链接器错误



我冲了很多。我已经删除DerivedData文件夹。仍然有问题。



我正在建立一个Phonegap应用程序。请帮助我。

 架构arm64的未定义符号:
_OBJC_CLASS _ $ _ CDVWebViewDelegate,引用自:
objc-class-ref in CDVInAppBrowser.o
_OBJC_CLASS _ $ _ CDVInvokedUrlCommand,引用自:
objc-class-ref in CDVContacts.o
objc-class-ref in CDVFile.o
_OBJC_METACLASS _ $ _ CDVViewController,引用自:
_OBJC_METACLASS _ $ _ MainViewController.o中的MainViewController
_OBJC_CLASS _ $ _ CDVPlugin,引用自:
_OBJC_CLASS _ $ _ CDVLogger in CDVLogger.o
_OBJC_CLASS _ $ _ CDVContacts CDVContacts.o
_OBJC_CLASS _ $ _ CDVDevice in CDVDevice.o
_OBJC_CLASS _ $ _ CDVNotification in CDVNotification.o
_OBJC_CLASS _ $ _ CDVFile in CDVFile.o
_OBJC_CLASS _ $ _ CDVFileTransfer in CDVFileTransfer .o
_OBJC_CLASS _ $ _ CDVInAppBrowser in CDVInAppBrowser.o
...
_OBJC_METACLASS _ $ _ CDVPlugin,引用自:
_OBJC_METACLASS _ $ _ CDVLogger in CDVLogger.o
_OBJC_METACLASS_ $ _CDVContacts in CDVContacts.o
_OBJC_METACLASS _ $ _ CDVDevice in CDVDevice.o
_OBJC_METACLASS _ $ _ CDVNotification in CDVNotification.o
_OBJC_METACLASS _ $ _ CDVFile in CDVFile.o
_OBJC_METACLASS _ $ _ CDVFileTransfer in CDVFileTransfer.o
_OBJC_METACLASS _ $ _ CDVInAppBrowser在CDVInAppBrowser.o
...
_OBJC_CLASS _ $ _ CDVViewController,引用自:
_OBJC_CLASS _ $ _ MainViewController.o中的MainViewController
objc-class-ref in CDVDevice.o
objc-class-ref in CDVFile.o
_CDVLocalNotification,引用自:
- [AppDelegate应用程序:didReceiveLocalNotification:] in AppDelegate.o
_OBJC_METACLASS_ $ _CDVCommandDelegateImpl,引用自:
_OBJC_METACLASS _ $ _ MainCommandDelegate in MainViewController.o
_OBJC_CLASS _ $ _ CDVPluginResult,引用自:
objc-class-ref in CDVContacts.o
objc- class-ref in CDVDevice.o
objc-class-ref in CDVNotification.o
objc-class-ref in CDVFile.o
objc-class-ref in CDVLocalFilesystem.o
objc-class-ref in CDVAssetLibraryFilesystem.o
objc-class-ref in CDVFileTransfer.o
...
_OBJC_CLASS _ $ _ CDVCommandDelegateImpl,引用自:
_OBJC_CLASS _ $ _ MainCommandDelegate MainViewController.o
_OBJC_CLASS _ $ _ CDVUserAgentUtil,引用自:
objc-class-ref in CDVInAppBrowser.o
_OBJC_CLASS _ $ _ CDVCommandQueue,引用自:
_OBJC_CLASS _ $ _ MainCommandQueue MainViewController.o
_OBJC_METACLASS _ $ _ CDVCommandQueue,引用自:
_OBJC_METACLASS _ $ _ MainViewController.o中的MainCommandQueue
_CDVPluginHandleOpenURLNotification,引用自:
- [AppDelegate application:handleOpenURL:]在AppDelegate.o
- [CDVInAppBrowser openInSystem:] in CDVInAppBrowser.o
ld:未找到用于体系结构的符号arm64
clang:error:linker命令失败,退出代码1 -v看到调用)


解决方案

发生在更新您的Xcode,但您使用的任何第三方工具可能不会更新与此架构 armv64





点击您的项目中的 Targets ,然后点击 BuildSettings



查找有效架构



只需双击,从中删除 armv64



确保只有armv7和 armv7s



如果这不工作,那么尝试删除 armv7s



请检查所有框架是否正确链接并参考。尝试删除并再次添加第三方工具的框架。



请检查所有框架是否正确引用。



在我的例子中, >

清理并构建项目。



希望它能帮助你。


I have updated my XCode to 6.0.1 Before this update, I was able to build my project in both simulator and in my device. But now, it is giving me Apple Mach-O Linker Error

I surfed a lot. I have deleted the DerivedData folder. Still having the Problem.

I am building a Phonegap App. Please help me.

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_CDVWebViewDelegate", referenced from:
      objc-class-ref in CDVInAppBrowser.o
  "_OBJC_CLASS_$_CDVInvokedUrlCommand", referenced from:
      objc-class-ref in CDVContacts.o
      objc-class-ref in CDVFile.o
  "_OBJC_METACLASS_$_CDVViewController", referenced from:
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
  "_OBJC_CLASS_$_CDVPlugin", referenced from:
      _OBJC_CLASS_$_CDVLogger in CDVLogger.o
      _OBJC_CLASS_$_CDVContacts in CDVContacts.o
      _OBJC_CLASS_$_CDVDevice in CDVDevice.o
      _OBJC_CLASS_$_CDVNotification in CDVNotification.o
      _OBJC_CLASS_$_CDVFile in CDVFile.o
      _OBJC_CLASS_$_CDVFileTransfer in CDVFileTransfer.o
      _OBJC_CLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
      ...
  "_OBJC_METACLASS_$_CDVPlugin", referenced from:
      _OBJC_METACLASS_$_CDVLogger in CDVLogger.o
      _OBJC_METACLASS_$_CDVContacts in CDVContacts.o
      _OBJC_METACLASS_$_CDVDevice in CDVDevice.o
      _OBJC_METACLASS_$_CDVNotification in CDVNotification.o
      _OBJC_METACLASS_$_CDVFile in CDVFile.o
      _OBJC_METACLASS_$_CDVFileTransfer in CDVFileTransfer.o
      _OBJC_METACLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
      ...
  "_OBJC_CLASS_$_CDVViewController", referenced from:
      _OBJC_CLASS_$_MainViewController in MainViewController.o
      objc-class-ref in CDVDevice.o
      objc-class-ref in CDVFile.o
  "_CDVLocalNotification", referenced from:
      -[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
  "_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
      _OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
  "_OBJC_CLASS_$_CDVPluginResult", referenced from:
      objc-class-ref in CDVContacts.o
      objc-class-ref in CDVDevice.o
      objc-class-ref in CDVNotification.o
      objc-class-ref in CDVFile.o
      objc-class-ref in CDVLocalFilesystem.o
      objc-class-ref in CDVAssetLibraryFilesystem.o
      objc-class-ref in CDVFileTransfer.o
      ...
  "_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
      _OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
  "_OBJC_CLASS_$_CDVUserAgentUtil", referenced from:
      objc-class-ref in CDVInAppBrowser.o
  "_OBJC_CLASS_$_CDVCommandQueue", referenced from:
      _OBJC_CLASS_$_MainCommandQueue in MainViewController.o
  "_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
      _OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
  "_CDVPluginHandleOpenURLNotification", referenced from:
      -[AppDelegate application:handleOpenURL:] in AppDelegate.o
      -[CDVInAppBrowser openInSystem:] in CDVInAppBrowser.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方案

This kind of problems generally occur while updating your Xcode but any third party tool you are using may not be updated with this architecture armv64.

So Click on your Project Navigator from XCode.

Click On Targets from your Project and click on BuildSettings from it.

Find Valid Architectures in it.

Just double click on that and remove armv64 from that.

Make sure there is armv7 and armv7s only.

If this does not work then try to remove armv7s also.

Please check all your frameworks are linked properly and referenced. Try to remove and add again the frameworks for that third party tool.

Please check all the frameworks are properly referenced.

In my case this worked for me.

Clean and build your project. It should work fine now.

Hope it helps you.

这篇关于XCode 6.0.1上的Apple Mach-O链接器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆