Compiler construction 让GNUC编译器在iOS 6.x上运行

Compiler construction 让GNUC编译器在iOS 6.x上运行,compiler-construction,ios6,terminal,gnu,jailbreak,Compiler Construction,Ios6,Terminal,Gnu,Jailbreak,我有一台越狱(evasi0n)的第四代iPad,带有iOS 6.1固件 我通过Cydia安装了移动终端,版本520-2。 然后,在教程之后,我下载并安装了CSU、链接标识编辑器、LibGCC、GCC和头/库 在安装过程中没有出现任何问题 教程和项目分别更新到2012年2月15日和2012年2月18日,因此在iOS 5.x之前都可以正常工作(我已经在我的iPhone 4S、iOS 5.1.1上测试了这个过程,它可以正常工作,因此我可以在设备上编译和执行C代码) 但在移动终端上,我在iPad(iOS

我有一台越狱(evasi0n)的第四代iPad,带有iOS 6.1固件

我通过Cydia安装了移动终端,版本520-2。
然后,在教程之后,我下载并安装了CSU、链接标识编辑器、LibGCC、GCC和头/库

在安装过程中没有出现任何问题

教程和项目分别更新到2012年2月15日和2012年2月18日,因此在iOS 5.x之前都可以正常工作(我已经在我的iPhone 4S、iOS 5.1.1上测试了这个过程,它可以正常工作,因此我可以在设备上编译和执行C代码)

但在移动终端上,我在iPad(iOS 6.1)上打字

$gcc

我明白了

非法指令:4

这几天我搜索了很多,但在iOS 6.x上找不到任何关于GCC的信息,因为最近一次更新是在2012年10月12日,而evasi0n越狱程序从2013年2月4日开始就有可能

谢谢你的帮助

更新


从答案来看,问题似乎与iOS 6.x固件无关,而是与iPhone 5和iPad第四代上的A6/A6X芯片有关。

我的cydia项目的一些用户也有同样的“非法指令4”问题。 他们有iPad4和iPhone5(都是evasi0n越狱iOS 6.1)

我使用交叉编译器arm apple darwin gcc/g++版本4.2.1编译了它

我总是使用CFLAGS='-O2-mthumb'


关于我无法访问苹果A6/A6X芯片iOS设备(iPad4、iPhone5),我无法测试任何东西:-(

某些软件必须使用ARMv7s支持进行重建。GCC就是其中之一

要使用ARMv7重新编译,您必须使用
-arch-ARMv7
选项运行gcc,并使用最新的SDK(6.0或6.1,我认为它不适用于旧的SDK版本,但您可以尝试)。接下来,使用创建一个fat二进制文件,以便在多个体系结构上工作

[本期官方iphone gcc全文]
()

请从以下链接获取iPhone 5的新GCC。

试试CppCode ios应用程序-C/C++IDE和编译器。无需越狱,无需互联网连接,免费(MIM)

您的
gcc
是从哪里获得的?您使用的是哪个版本?我已经编辑了这个问题,添加了一些可能有用的细节。感谢J.Anrugas的回答。关于您的回答,您使用了哪个设备?安装了哪个固件?那么
非法指令:4
错误是由于A6/A6X芯片和不适用于iOS 6.x固件?我在iOS 5.1.x和iOS 6.1中使用了iPhone4、iPad2和AppleTV2。在这两种固件上我都没有问题。我的Cydia项目的一些用户在iOS 6.1中使用了iPhone5和iPad4。只是它们存在非法指令问题。感谢Sergio提供完整和详细的答复。为了重新编译软件,源代码为needed,但在官方的iphone gcc完整页面中,这是不可用的。那么项目的开发人员应该重新编译吗?我希望iphone gcc完整团队很快会重新编译它。你也可以尝试从官方的gcc源代码中构建自己的,但这不会很简单,我想…一个评论,我看到一个错误,一旦我用新的gcc编译代码。为了修复它,我将o以下修补程序。
sed-i''s/\x00\x30\x93\xe4/\x00\x30\x93\xe5/g;s/\x00\x30\xd3\xe4/\x00\x30\xd3\xe5/g;'hello
hello是输出文件的名称,如果您不想在每次编译代码时对其进行修补,则必须将
crt1.o
dylib1.o
替换为
/usr/lib
iPhone文件夹中的新iOS。以下人员已发布了所需的所有lib文件。下载链接为。