错误"1d以信号6终止".升级到Xcode 4.5后用于theos项目 [英] error "ld terminated with signal 6" for theos project after upgrade to Xcode 4.5

查看:39
本文介绍了错误"1d以信号6终止".升级到Xcode 4.5后用于theos项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 https://github.com/DHowett/theos 为越狱的iPhone. 我关注了 http://brandontreb.com/beginning-jailbroken-ios- development-getting-the-tools/,一切正常. 然后,我将Xcode升级到4.5. 然后,在编译任何调整项目(甚至是hello world项目)时,它失败并显示以下错误:

I'm using https://github.com/DHowett/theos to implement a tweak for jailbroken iphone. I followed http://brandontreb.com/beginning-jailbroken-ios-development-getting-the-tools/ and everything worked fine. Then I upgrade my Xcode to 4.5. Then when compiling any tweak projects, even a hello world project, it failed with following error:

    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 ,执行了所有步骤,但还是没有运气.

I found this http://iphonesdkdev.blogspot.jp/2012/06/how-to-install-thoes-under-xcode-44.html, followed all steps, but still no luck.

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

Any ideas on the linking tool's crash?

推荐答案

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

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

Xcode 4.5 ships with two different versions of the same linker. The one used by gcc (which is deprecated) crashes on armv6 output, and the one used by clang can not generate armv6 output. There is currently no way to use the 6.0 SDK while targeting iOS versions less than 4.3, or any armv6 platforms. If you're willing to accept this, please add the following to the top of your Makefile:

export ARCHS = armv7 导出TARGET = iphone:latest:4.3

export ARCHS=armv7 export TARGET=iphone:latest:4.3

(theiostream的注释) 另外,也可以使用较旧的SDK并针对体系结构和较旧的部署目标进行构建(从3.0开始).只需强制它们(如果它们存在于您的Xcode Developer目录中),如下所示:

(note from theiostream) Alternatively, it is possible to use older SDKs and build for both architectures and older deployment targets (up from 3.0). Just force them (if they exist on your Xcode Developer directory), as:

导出ARCHS = armv6 armv7 导出TARGET = iphone ::

export ARCHS = armv6 armv7 export TARGET=iphone::

这篇关于错误"1d以信号6终止".升级到Xcode 4.5后用于theos项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆