【问题标题】:Undefined symbols for architectures armv7: "_MGCopyAnswer", Can't Solve架构 armv7 的未定义符号:“_MGCopyAnswer”,无法解决
【发布时间】:2025-11-22 16:00:01
【问题描述】:

所以,我正在创建一个越狱应用程序,并尝试在应用程序中使用 libMobileGestalt.dylib。我正确链接文件并添加标题并调用 MGCopyAnswer。问题是,我得到这个错误:

Undefined symbols for architectures armv7: "_MGCopyAnswer", referenced from:

仅当应用使用 armv7 架构构建时才会出现此错误。使用 arm64 架构时不会发生这种情况。我知道这是因为 dylib 是使用 arm64 架构构建的,但我真的希望它能够与 armv7 架构一起使用,以便该应用程序与更大范围的设备兼容。

有没有一个地方可以让我获得 dylib 的 armv7 架构版本,或者能够在包含该架构的情况下再次构建它?有没有人知道的解决方案?感谢您提前提供帮助。

【问题讨论】:

  • 如果您提供指向此 libMobileGestalt 项目的链接会很有帮助...如果您自己构建它,那么它通常在 armv7 支持下编译它很简单跨度>
  • @brad-allred 不,我还没有它是 .../iPhoneOS7.0.sdk/usr/lib/ 文件夹中的 ios sdk 提供的 dylib。这就是为什么我要创建越狱应用程序而不是普通应用程序的原因,因为我需要能够将该库链接到我的项目。而且由于它只是一个图书馆,我无法重建它。我还从类转储过程中获得了头文件。该文件可以在这里找到:link

标签: objective-c undefined jailbreak symbols


【解决方案1】:

我找到了解决方案。我收到错误的原因是我将该 dylib 链接到我正在创建的静态库,这是不可能的,因此我还必须将此 dylib 链接到我创建的所有使用静态库的项目(其中转用动态库)。希望这是有道理的 :P 感谢大家的帮助:)

【讨论】:

    【解决方案2】:

    你必须导入 libMobileGestalt 低于目标 然后构建阶段 并将二进制文件与库链接

    然后添加新的二进制 当您看到搜索字段时 输入“libMobileGestalt.dylib” 然后添加

    【讨论】: