在文件中缺少所需的体系结构i386

问题描述:

我在添加MapKit和CoreLocation框架后构建应用程序时遇到问题。他们都是4.3的框架,并且这个应用程序用于和UIKit,CoreGraphics和Foundation一起工作,只是给了我两个问题。不确定所需的体系结构是什么,代码中没有任何错误。任何帮助表示赞赏!在文件中缺少所需的体系结构i386

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/MapKit.framework/MapKit, missing required architecture i386 in file 

ld: warning: ignoring file /Users/F3d3r3r/Desktop/testNav4_3/CoreLocation.framework/CoreLocation, missing required architecture i386 in file 

Undefined symbols for architecture i386: 
    "_CLLocationCoordinate2DMake", referenced from: 
     -[Layer2 tableView:cellForRowAtIndexPath:] in Layer2.o 
    "_OBJC_CLASS_$_MKMapView", referenced from: 
     objc-class-ref in Layer2.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 
+1

可能重复的 - 缺少所需的体系结构i386在文件](http://*.com/questions/1456185/build-error-missing-required-architecture-i386-in-file) – 2011-04-04 22:22:07

+1

这是比我的建议更有用。 – Rayfleck 2011-04-04 22:37:14

添加具有CLLocation的CoreLocation框架以及MapKit。

+2

我已经添加了CoreLocation和MapKit。 – F3d3r3r 2011-04-04 22:25:58

+0

@ F3d3r3r我也必须添加MapKit :) – ademar111190 2012-10-23 19:54:51

我得到了同样的问题..一个长期的斗争,我发现这个问题..

我解决了这种方式以后。

  1. 转到构建设置
  2. 搜索“框架搜索路径'
  3. 并删除预先填充的路径。

现在它完美地..希望这有助于有人..

+1

什么是“预填充路径” – shim 2013-10-18 03:29:47

+0

@shim尝试$(PROJECT_DIR)/ Jeremie 2015-08-20 13:51:15

要小心,如果你从Finder中复制框架到项目中。确保这件事;当您将其添加到您的项目时,“复制文件...”选项不会被选中。

检查项目的根文件夹以及是否复制了它。删除它并尝试从头开始添加。

强烈建议您从“构建阶段”添加Xcode的“与库链接二进制文件”部分。

+0

LTTP,但这应该是正确的答案。它可能是你复制了项目或其中的一部分,包含库和这个搞砸了xCode。对于任何人来这个线程,我会先尝试这个。 – Jeremie 2015-08-20 13:59:59

构建设置使用$(继承) - >搜索路径

请参考下面的网址为$(继承)使用[生成错误的 What is $(inherited) in Xcode's search path settings?