3

我正在使用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,遵循了所有步骤,但仍然没有运气。

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

4

1 回答 1

6

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:latest:4.3

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

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

于 2012-10-08T06:22:44.070 回答