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

时间:2011-04-04 22:19:33

标签: iphone mapkit core-location i386

在添加MapKit和CoreLocation框架后,我无法构建我的应用程序。它们都是4.3框架,并且该应用程序曾经与UIKit,CoreGraphics和Foundation一起使用,只是给我这两个问题。不确定所需的架构是什么,代码中没有任何错误。任何帮助表示赞赏!

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

4 个答案:

答案 0 :(得分:45)

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

答案 1 :(得分:7)

我遇到了同样的问题..经过长时间的斗争,我发现了这个问题..

我这样解决了..

  1. 转到“构建设置”
  2. 搜索“框架搜索路径”
  3. 并删除预填充路径。
  4. 现在它完美无缺..希望它有所帮助...

答案 2 :(得分:1)

如果将框架从Finder复制到项目,请务必小心。确保这件事;将复制文件添加到项目时,不会选中“复制文件...”选项。

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

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

答案 3 :(得分:0)

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

请参阅以下URL以获取$(继承)用法, What is $(inherited) in Xcode's search path settings?