链接器找不到_objc_msgSend和许多其他符号

dsa*_*afa 7 iphone error-handling xcode google-maps

所以,我对Xcode有两个问题.我是iPhone应用程序开发的新手,所以任何帮助都会有用.我正在使用mapView创建一个应用程序,所以首先我做了应有的一切.声明,视图确实加载,代表等.之后,我将属性连接到地图视图,结果发现了28个错误.在模拟器上它工作,包括地图,但在手机上它总是打破.之后我删除了地图视图的所有代码,它保持不变.

一些想法可能是什么?如何制作iPhone的地图视图?

"_OBJC_CLASS_$_NSBundle", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_NSFileManager", referenced from:
      objc-class-ref in AppDelegate.o
  "_objc_msgSendSuper2", referenced from:
      -[AppDelegate dealloc] in AppDelegate.o
      -[MainViewController didReceiveMemoryWarning] in MainViewController.o
      -[MainViewController viewDidLoad] in MainViewController.o
      -[MainViewController viewDidUnload] in MainViewController.o
      -[MainViewController viewWillAppear:] in MainViewController.o
      -[MainViewController viewDidAppear:] in MainViewController.o
      -[MainViewController viewWillDisappear:] in MainViewController.o
      ...
  "_objc_setProperty", referenced from:
      -[AppDelegate setWindow:] in AppDelegate.o
      -[MainViewController setManagedObjectContext:] in MainViewController.o
      -[MainViewController setOdaberiTaxi:] in MainViewController.o
      -[MainViewController setIzbornik:] in MainViewController.o
      -[MainViewController setTaxiPicker:] in MainViewController.o
      -[MainViewController setListaTaxiZG:] in MainViewController.o
      -[MainViewController setToolbar:] in MainViewController.o
      ...
  "__objc_empty_vtable", referenced from:
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_CLASS_$_MainViewController in MainViewController.o
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
      _OBJC_CLASS_$_FlipsideViewController in FlipsideViewController.o
      _OBJC_METACLASS_$_FlipsideViewController in FlipsideViewController.o
  "_OBJC_CLASS_$_UIResponder", referenced from:
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
  "_objc_msgSend", referenced from:
      _main in main.o
      -[AppDelegate dealloc] in AppDelegate.o
      -[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
      -[AppDelegate applicationWillTerminate:] in AppDelegate.o
      -[AppDelegate saveContext] in AppDelegate.o
      -[AppDelegate managedObjectContext] in AppDelegate.o
      -[AppDelegate managedObjectModel] in AppDelegate.o
      ...
  "_OBJC_CLASS_$_UIActionSheet", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_CLASS_$_UIViewController", referenced from:
      _OBJC_CLASS_$_MainViewController in MainViewController.o
      _OBJC_CLASS_$_FlipsideViewController in FlipsideViewController.o
  "_objc_autoreleasePoolPop", referenced from:
      _main in main.o
  "__objc_empty_cache", referenced from:
      _OBJC_CLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_CLASS_$_MainViewController in MainViewController.o
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
      _OBJC_CLASS_$_FlipsideViewController in FlipsideViewController.o
      _OBJC_METACLASS_$_FlipsideViewController in FlipsideViewController.o
  "_UIApplicationMain", referenced from:
      _main in main.o
  "_OBJC_METACLASS_$_UIResponder", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
  "_OBJC_CLASS_$_UIView", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_CLASS_$_UIApplication", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_CLASS_$_NSArray", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_CLASS_$_NSManagedObjectContext", referenced from:
      objc-class-ref in AppDelegate.o
  "___CFConstantStringClassReference", referenced from:
      CFString in AppDelegate.o
      CFString in AppDelegate.o
      CFString in AppDelegate.o
      CFString in AppDelegate.o
      CFString in MainViewController.o
      CFString in MainViewController.o
      CFString in MainViewController.o
      ...
  "_OBJC_CLASS_$_UIAlertView", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_METACLASS_$_UIViewController", referenced from:
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
      _OBJC_METACLASS_$_FlipsideViewController in FlipsideViewController.o
  "_NSSQLiteStoreType", referenced from:
      -[AppDelegate persistentStoreCoordinator] in AppDelegate.o
  "_objc_autoreleasePoolPush", referenced from:
      _main in main.o
  "_NSStringFromClass", referenced from:
      _main in main.o
  "_NSLog", referenced from:
      -[AppDelegate saveContext] in AppDelegate.o
      -[AppDelegate persistentStoreCoordinator] in AppDelegate.o
  "_OBJC_CLASS_$_NSManagedObjectModel", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_NSURL", referenced from:
      objc-class-ref in MainViewController.o
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_AppDelegate in AppDelegate.o
      _OBJC_METACLASS_$_MainViewController in MainViewController.o
      _OBJC_METACLASS_$_FlipsideViewController in FlipsideViewController.o
  "_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

Dev*_*hon 40

我有一个类似的错误,这解决了我的问题:单击"目标">构建阶段>链接二进制库>单击"+"> CoreData.framework.>添加.

  • 这应该被标记为正确的答案. (5认同)

ble*_*ter 10

如果在 2022 年您遇到大量此类类型的 Xcode 链接器错误

Undefined symbols for architecture arm64: "_objc_msgSend$X"
Run Code Online (Sandbox Code Playgroud)

其中X是正在链接的库的内部方法,那么您可能已经发现了 Xcode 14 的新功能:Objective-Cmsgsend选择器存根。此优化将阻止使用默认 Xcode 14 设置构建的库通过 Xcode 13 及更早版本正确链接。

如果需要将使用 Xcode 14 构建的静态库与早期版本的 Xcode 链接,可以在编译期间通过添加到-fno-objc-msgsend-selector-stubs编译器标志来禁用选择器存根生成:xcode 项目设置编译器标志的屏幕截图


rob*_*off 0

您缺少像__objc_msgSendObjective-C 运行时的基本部分这样的符号。这些符号可以在 中找到libobjc.dylib,对于任何 Objective-C 项目,Xcode 都应该自动链接到该符号。此外,您还缺少 Foundation 框架(例如_OBJC_CLASS_$_NSBundle)和 UIKit(例如_OBJC_CLASS_$_UIView)中的符号。当您在 Xcode 中创建新的 Objective-C 项目时,这些框架会自动包含在内。

您收到这些错误的事实表明您的项目严重混乱。虽然专家可能可以解决您的问题,但您周围可能没有专家。

因此,最简单的解决方案就是在 Xcode 中创建一个新项目并将源文件复制到新项目中。在新项目中,请小心不要更改或删除构建设置,除非您了解它们的用途。很容易在没有意识到的情况下意外更改构建设置,并开始收到难以理解的错误消息。

如果这不能解决您的问题,则您的 Xcode 安装可能已损坏,您可能需要重新安装 Xcode。