如何解决架构 i386 的未定义符号

How to resolve undefined symbols for architecture i386

我最近从 git 存储库下载了一些源代码到 Xcode 6.1.1。但是,我得到 "missing required architecture i386" 一个库,该库包含在应用程序中(并且存在于我的文件系统中)。 这是错误:

ld: warning: ignoring file /Users/myname/Documents/mycomp-mycompapp-ios/mycomp/libs/zbar_iOS7_Fix/libzbar.a, missing required architecture i386 in file /Users/myname/Documents/mycomp-mycompapp-ios/mycomp/libs/zbar_iOS7_Fix/libzbar.a (3 slices)
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_ZBarReaderView", referenced from:
      objc-class-ref in MyViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我浏览了一些类似的帖子,但我无法确定解决方案是什么 - 它与构建设置有关,我是否导入另一个库?

看起来 Xcode 没有 link 您在 "Build phases" 中的图书馆。这些是修复它的步骤:

TargetSettings -> Build Phases -> Compile Sources -> 添加你的 ZBarReaderView.m class(以及其他必要的) -> Build and 运行