未findi386体系结构的Facebook符号

尝试在xcode 4中编译我的项目时出现以下错误(在xcode 3.x中正常工作)

Undefined symbols for architecture i386: "_OBJC_CLASS_$_FBSession", referenced from: objc-class-ref in View1Controls.o "_OBJC_CLASS_$_FBLoginDialog", referenced from: objc-class-ref in View1Controls.o "_OBJC_CLASS_$_FBRequest", referenced from: objc-class-ref in View1Controls.o "_OBJC_CLASS_$_FBStreamDialog", referenced from: objc-class-ref in View1Controls.o ld: symbol(s) not found for architecture i386 collect2: ld returned 1 exit status 

任何人都可以解释什么是错的? 我相信我已经正确导入头文件..

谢谢,

插口

假设具有这些函数的库包含在Xcode项目中,那么当库没有与二进制可执行文件链接时会发生此错误。 将旧项目升级到较新版本的Xcode时可能会发生这种情况。

要修复它,请导航到Xcode中的项目概述。 点击目标。 点击Build Phase。 展开“Link Binary With Libraries”列表。 如果库未列出,请单击“+”,并添加相应的库。

您错过了导致您看到的链接器错误的库/框架。 我不确定哪个框架与Facebookfunction相关联,可能是一般networking相关的一个。 让我看看我能否找出你需要的。

编辑:你有你的项目中包括的基础框架? Facebook网站可能提到你需要哪一个?

我不使用Facebook,但这里是我的想法:这是一个链接器错误,而不是一个编译器错误(这将是如果标题不导入)。 你有导入正确的框架? 并确保XCode告诉编译器链接到正确的库?

它与链接器错误有关。 所以只需从项目中删除Facebook框架,并拖动新的。

  • 删除现有的Facebook框架
  • 从SDK安装文件夹拖动FacebookSDK.framework文件夹到您的项目的框架部分