【问题标题】:iOS Undefined symbols for architecture i386iOS 架构 i386 的未定义符号
【发布时间】:2014-06-02 08:49:28
【问题描述】:

当我尝试编译我的项目时,我得到了错误。我添加了所有必需的框架 - AVFoundation、opencv 和许多其他框架,但这对我没有帮助。这里有几行来自这个错误:

     Undefined symbols for architecture i386:

  "_OBJC_CLASS_$_AVCaptureDevice", referenced from:
      objc-class-ref in MACaptureSession.o
  "_OBJC_CLASS_$_AVCaptureDeviceInput", referenced from:
      objc-class-ref in MACaptureSession.o
  "_OBJC_CLASS_$_AVCaptureSession", referenced from:
      objc-class-ref in MACaptureSession.o
  "_OBJC_CLASS_$_AVCaptureStillImageOutput", referenced from:
      objc-class-ref in MACaptureSession.o
  "_OBJC_CLASS_$_AVCaptureVideoPreviewLayer", referenced from:
      objc-class-ref in MACaptureSession.o
  "_OBJC_CLASS_$_CABasicAnimation", referenced from:
      objc-class-ref in MAImagePickerFinalViewController.o
  "_OBJC_CLASS_$_CATransition", referenced from:
      objc-class-ref in MAImagePickerControllerAdjustViewController.o
      objc-class-ref in MAImagePickerController.o
  "_OBJC_CLASS_$_MPVolumeView", referenced from:
      objc-class-ref in MAImagePickerController.o
  "_kCATransition", referenced from:
      -[MAImagePickerControllerAdjustViewController confirmedImage] in MAImagePickerControllerAdjustViewController.o

【问题讨论】:

  • 这里是来自项目的框架:MediaPlayer、AudioToolbox、CoreImage、QuartzCore、ImageIO、CoreMedia、AVFoundation、opencv2、Foundation、CoreGraphics、UIKit
  • 试试这个,清理 -> 关闭 xcode -> 构建..
  • @Mani 情况没有改变
  • 你试过这个Go to framework search paths. Remove everything from there吗?也试试这个stackoverflow.com/questions/19130744/…
  • 您是否尝试使用 iPod 或 iPhone 进行编译?似乎您使用模拟器中不支持模拟器的库来编译您的应用程序。例如:AVFoundation。试试 NSLog(@"%@", [AVCaptureDevice devices]);在模拟器中,您将看不到任何设备

标签: ios


【解决方案1】:

只需添加 CoreMedia.frameworkAVFoundation.framework 加入您的项目。

去。

项目 -> 目标 -> 构建阶段 -> 将二进制文件与库链接 -> “+” -> 选择您的框架

【讨论】:

  • CoreMedia.framework 和 AVFoundation.framework 已经在项目中
  • Ok... 然后添加你没有添加的 CoreMedia.framework","AudioToolbox.framework","CoreGraphics.framework","CoreVideo.framework","AVFoundation.framework","libiconv .dylib"
  • @STBY - 好的,然后将“-ObjC”添加到其他链接器标志?
【解决方案2】:

检查是否 MACCaptureSession MAImagePickerFinalViewController MAImagePickerControllerAdjustViewController MAImagePickerController.m 已经在target中添加并检查了各自的m文件,实现名称是否正确。

【讨论】:

    【解决方案3】:

    按照 Mani 的建议,添加所需的框架。如果您已经添加了这些框架,但仍然出现错误,请在 project 的 Build Settings 下将 Build Active Architecture Only 设置为 NO

    【讨论】:

    • 这组错误数增加几倍后
    猜你喜欢
    • 2012-12-08
    • 2012-02-09
    • 2011-08-14
    • 1970-01-01
    • 2011-10-30
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多