我正在使用 https://github.com/DHowett/theos 对越狱的 iphone 进行调整。
我跟着 http://brandontreb.com/beginning-jailbroken-ios-development-getting-the-tools/ 一切正常。
然后我将我的 Xcode 升级到 4.5。
然后在编译任何调整项目时,即使是 hello world 项目,它失败并出现以下错误:

    Making all for tweak PreferenceLoader...
    Preprocessing Tweak.xm...
    Compiling Tweak.xm...
    Linking tweak PreferenceLoader...
    collect2: ld terminated with signal 6 [Abort trap: 6]
    ld(8724,0x7fff78fd2960) malloc: *** error for object 0x7f89b35003f0: pointer being freed was not allocated
    *** set a breakpoint in mallocerror_break to debug
    make[2]: *** [obj/PreferenceLoader.dylib] Error 1
    make[1]: *** [internal-library-all] Error 2
    make: *** [PreferenceLoader.all.tweak.variables] Error 2

我找到了这个 http://iphonesdkdev.blogspot.jp/2012/06/how-to-install-thoes-under-xcode-44.html ,遵循了所有步骤,但仍然没有运气。

关于链接工具崩溃的任何想法?

最佳答案

得到了 https://github.com/DHowett/theos/issues/39 的反馈

Xcode 4.5 附带同一个链接器的两个不同版本。 gcc 使用的(已弃用)在 armv6 输出时崩溃,clang 使用的无法生成 armv6 输出。
目前没有办法在针对低于 4.3 的 iOS 版本或任何 armv6 平台时使用 6.0 SDK。
如果您愿意接受这一点,请将以下内容添加到 Makefile 的顶部:

导出 ARCHS=armv7
导出目标=iphone:最新:4.3

(来自 theiostream 的注释)
或者,可以使用较旧的 SDK 并为架构和较旧的部署目标(从 3.0 起)进行构建。只需强制它们(如果它们存在于您的 Xcode Developer 目录中),如:

导出 ARCHS = armv6 armv7
导出目标=iphone::

关于xcode - 升级到 Xcode 4.5 后 theos 项目的错误 "ld terminated with signal 6",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12632831/

10-12 23:58
查看更多