2

在我将 xcode 更新到 4.6 后,我目前遇到了一个问题。

一开始,我遇到了很多链接错误。在其他帖子的帮助下,我能够解决它们。但是,每当我解决了前一个问题时,总会出现新的问题。

现在,当我尝试在具有发布模式的设备上构建游戏时,我被困在“架构 armv7 的未定义符号”(发布和调试模式适用于模拟器,而调试模式适用于设备)。我已经在网上研究过这个问题,但是没有一个解决方案可以解决我的情况。这就是为什么我想开始一个新职位。

让我详细解释一下情况:

  1. 所有错误都发生在调用库中的方法时。
  2. 我的库在之前的架构 armv7 上运行良好(xcode 4.5)
  3. 项目文件中架构的当前值为“标准 (armv7, armv7s)
  4. Current Architecture 的当前值为“armv7 armv7s armv6”

这是一个示例错误:

尽管我只显示了与 libReceiptVerification.multi.a 相关的错误,但错误实际上发生在其他库中。

// * ** * ** * ** * ** *从这一行开始* ** * ** * ** * ****

架构 armv7 的未定义符号:

“_OBJC_CLASS_$_NSMutableOrderedSet”,引用自:libarclite_iphoneos.a(arclite.o) 中的 objc-class-ref

“_CFStringCreateWithBytes”,引用自:libReceiptVerification.multi.a(JSONKit.o) 中的 -[JKSerializer serializeObject:options:encodeOption:block:delegate:selector:error:] libReceiptVerification.multi.a(JSONKit.o) 中的 _jk_cachedObjects

“_CFStringCreateWithBytesNoCopy”,引用自:-[JKSerializer serializeObject:options:encodeOption:block:delegate:selector:error:] in libReceiptVerification.multi.a(JSONKit.o)

“_CFDataSetLength”,引用自:libReceiptVerification.multi.a(JSONKit.o) 中的 __NSStringObjectFromJSONString

// * ** * ** * ** * ** * **在这里结束* ** * ** * ****

那么,有人对这个问题有任何线索吗?提前感谢您的帮助。

4

2 回答 2

1

我有同样的问题通过设置解决

Implicitly link Objective-C Runtime SupportNO

您可以在 Project->Build Settings->Apple LLVM Compiler 4.2-Language 下找到它。

或者Implicitly link Objective-C Runtime Support在 project->Build Settings 中搜索

于 2014-03-07T06:49:07.680 回答
0

检查 libarclite、JSONKit 和其他所有内容的库目标,并确保它们也具有为其发布版本设置的相同架构值。

此外,对于发布目标,“仅构建活动架构”被选中为否。

于 2013-02-20T19:14:49.000 回答