【问题标题】:Problem with linking - iPhone app [duplicate]链接问题-iPhone应用程序[重复]
【发布时间】:2010-07-29 00:04:52
【问题描述】:

我在尝试链接 iPhone 应用以使用我正在使用的静态库之一时遇到问题。

该应用程序在 iPhone OS 3.0 上运行良好,但是当我尝试升级到 iOS4.0 时,我遇到了一些问题。

我尝试使用的库是一个包含 arm 和 i386 版本的通用 fat。现在,当我尝试使用这个胖库时,我得到了“找不到符号”错误。它适用于设备(​​臂)但在尝试为模拟器(i386)编译时遇到问题。

它给我的错误是:

"_OBJC_CLASS_$_ClassName", referenced from: file.o
Symbol(s) not found."

查看 fat 库(使用 nm)我看到 armv6 和 armv7 下列出的符号类型为“S”,我想这就是它工作正常的原因!但是,我在 i386 下找不到相同的,我不知道为什么!

我确实看到一个符号“.objc_class_name_ClassName”被列为“A”类型,但是据说丢失的符号并未在此处列出。

有什么想法吗?

【问题讨论】:

标签: iphone objective-c linker


【解决方案1】:

也许您需要构建一个针对 iOS 4.0 的 lib 版本

【讨论】:

  • 谢谢娄!我确实用 iOS4.0 SDK 重建了所有的库。
【解决方案2】:

在迁移到 iOS 4 和 SDK 3.2.3 时,很多库都被破坏了。如果您可以使用 SDK 4 构建库并将其重新封装到胖库中,您可能会回到正轨。

确保将您的部署目标设置为 3.x 或您计划发布应用的任何版本。

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    相关资源
    最近更新 更多