【问题标题】:Get GNU C Compiler working on iOS 6.x让 GNU C 编译器在 iOS 6.x 上运行
【发布时间】:2013-02-05 15:20:39
【问题描述】:

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

通过 Cydia,我安装了移动终端,版本 520-2。
然后,按照this 教程,我已经下载并安装了 CSU、Link Identification Editor、LibGCC、GCC 和 Headers/Libraries。

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

教程和项目分别更新到 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 的信息,因为最近的 discussion 更新于 2012 年 10 月 12 日,而 evasi0n 越狱程序已经成为可能从 2013 年 2 月 4 日开始。

感谢您的帮助。

更新

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

【问题讨论】:

  • 您的gcc 是从哪里获得的?你用的是哪个版本?
  • 我已经编辑了问题,添加了一些可能有用的细节。

标签: compiler-construction ios6 terminal gnu jailbreak


【解决方案1】:

某些软件必须在支持 ARMv7s 的情况下重新构建。 GCC 就是其中之一。

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

[此问题在官方 iphone-gcc-full 页面] (http://code.google.com/p/iphone-gcc-full/issues/detail?id=6)

【讨论】:

  • 感谢 Sergio 完整而详细的回复。为了重新编译该软件,需要源代码,但在官方 iphone-gcc-full 页面中不可用。那么项目的开发者应该重新编译吗?
  • 我希望 iphone-gcc-full 团队能尽快重新编译它。您也可以尝试从官方 gcc 来源构建您自己的,但我认为这并不简单......
【解决方案2】:

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

我使用交叉编译器 arm-apple-darwin gcc/g++ version 4.2.1 编译它。

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

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

【讨论】:

  • 感谢 J.Anrugas 的回复。关于您的回答,您使用的是哪种设备?安装在哪个固件上?那么,Illegal instruction: 4 错误是因为 A6/A6X 芯片而不是 iOS 6.x 固件吗?
  • 我在 iOS 5.1.x 和 iOS 6.1 上使用 iPhone4、iPad2 和 AppleTV2。在这两个固件上我没有问题。我的 Cydia 项目的一些用户使用 iPhone5 和 iPad4 和 iOS 6.1 。只是他们有非法指令问题。
【解决方案3】:

请从以下链接获取适用于 iPhone 5 的新 GCC。 download

【讨论】:

  • 一条评论,一旦我用新的 gcc 编译代码,我就会看到一个错误。为了修复它,请执行以下补丁。 sed -i'' 's/\x00\x30\x93\xe4/\x00\x30\x93\xe5/g;s/\x00\x30\xd3\xe4/\x00\x30\xd3\xe5/g;' hellohello 是输出文件的名称
  • 如果您不想在每次编译代码时都对其进行修补,则必须将/usr/lib iPhone 文件夹中的crt1.odylib1.o 替换为新的iOS。以下link 中的某个人发布了所需的所有 lib 文件。下载链接为here
【解决方案4】:

试试 CppCode ios 应用程序 - C/C++ IDE 和编译器。无需越狱,无需互联网连接,免费(mium)http://www.cppcode.info

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多