我正在使用 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/