首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MailCore错误IOS

MailCore错误IOS
EN

Stack Overflow用户
提问于 2012-02-06 16:56:46
回答 2查看 1.4K关注 0票数 0

我尝试在我的项目中使用MailCore,但是我得到了以下错误:

代码语言:javascript
复制
Undefined symbols for architecture armv7:
  "_MailCoreEnableLogging", referenced from:
      -[ImapSync run] in ImapSync.o
  "_OBJC_CLASS_$_CTCoreMessage", referenced from:
      l_OBJC_$_CATEGORY_CTCoreMessage_$_CTCoreMessageBuisnessMail in CTCoreMessage+BuisnessMail.o
  "_OBJC_IVAR_$_CTCoreMessage.myFields", referenced from:
      -[CTCoreMessage(CTCoreMessageBuisnessMail) libetpanDateTime] in CTCoreMessage+BuisnessMail.o
      -[CTCoreMessage(CTCoreMessageBuisnessMail) senderDate] in CTCoreMessage+BuisnessMail.o
  "_OBJC_CLASS_$_CTCoreAccount", referenced from:
      objc-class-ref in AttachmentDownloader.o
      objc-class-ref in ImapSync.o
  "_MailCoreDisableLogging", referenced from:
      -[ImapSync run] in ImapSync.o
  "_IfTrue_RaiseException", referenced from:
      -[ImapFolderWorker fetchFrom:to:seqDelta:syncingNew:progressOffset:progressTotal:alreadySynced:] in ImapFolderWorker.o
ld: symbol(s) not found for architecture armv7

但是所有这些方法都在那里,我可以在MailCoreProject中看到它们!

我希望有人能帮助我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-05 02:59:34

首先,我会检查您是否已将libMailCore-ios.a添加到您的“链接框架和库”列表中。

如果是这样,那么问题可能是MailCore项目是为一台设备编译的,而您的主项目是为另一台设备编译的。例如,

  • MailCore项目是为模拟器编译的...为x86 architecture
  • your生成了MailCore符号,为真实iOS设备编译了主工程。所以链接器正在寻找armv7架构的符号,链接器抱怨说,armv7架构的符号没有找到

要解决此问题,请使用与主项目相同的设备(或相同的模拟器)重新构建MailCore子项目(build-clean和build)。

票数 0
EN

Stack Overflow用户

发布于 2012-02-24 22:02:59

这些东西可能有很多种。您是如何将MailCore添加到项目中的?作为静态库?

您缺少用于armv7体系结构的编译文件。确保已将其添加到MailCore项目的“构建设置”中,然后尝试构建它。您可能为模拟器构建了MailCore,现在您正尝试在设备上运行它。这些必须分开。

此外,您还必须确保MailCore正在使用的所有库都已正确编译。

PS:将MailCore添加到您的项目中并不是一个简单的过程,但这是值得的。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9157660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档