Получите компилятор GNU C, работающий на iOS 6.x

У меня взломанный (evasi0n) iPad 4-го поколения с прошивкой iOS 6.1.

Через Cydia я установил мобильный терминал версии 520-2.
Затем, следуя этому, я загрузил и установил CSU, Link Identify Editor, LibGCC, GCC и Headers / Libraries.

Во время установки проблем не было.

Учебное пособие и проект обновлены соответственно до 15 февраля 2012 г. и 18 февраля 2012 г., поэтому они работают нормально до iOS 5.x (я тестировал процедуру на моем iPhone 4S, iOS 5.1.1, и она работает, поэтому я может компилировать и выполнять код C на устройстве)

Но в мобильном терминале на iPad (iOS 6.1), когда я набираю

$ gcc

я получил

Незаконная инструкция: 4

Я много искал в эти дни, но я не могу найти ничего о GCC на iOS 6.x, так как последний недавний обсуждение этого вопроса обновлено 12 октября 2012 г., а процедура взлома evasi0n была возможно с 4 февраля 2013 г.

Спасибо за любую помощь.

ОБНОВЛЕНИЕ

Судя по ответам, проблема связана не с прошивкой iOS 6.x, а с чипом A6 / A6X соответственно на iPhone 5 и iPad 4-го поколения.


person user2043441    schedule 05.02.2013    source источник
comment
Откуда ты взял свой gcc? Какую версию вы используете?   -  person us2012    schedule 05.02.2013
comment
Я отредактировал вопрос, добавив некоторые детали, которые могут быть полезны.   -  person user2043441    schedule 06.02.2013


Ответы (4)


Некоторое программное обеспечение необходимо перестроить с поддержкой ARMv7. GCC - один из них.

Чтобы перекомпилировать с ARMv7, вам нужно запустить gcc с параметром -arch ARMv7 и использовать последний SDK (6.0 или 6.1, я не думаю, что он будет работать со старыми версиями SDK, но вы можете попробовать). Затем создайте толстый двоичный файл с помощью lipo , поэтому он будет работать на нескольких архитектурах.

[Эта проблема на официальной странице iphone-gcc-full] (http://code.google.com/p/iphone-gcc-full/issues/detail?id=6)

person Sergio    schedule 07.02.2013
comment
Спасибо, Серджио, за полный и подробный ответ. Для повторной компиляции программного обеспечения необходим исходный код, но на официальной странице iphone-gcc-full он недоступен. Значит, разработчик проекта должен перекомпилировать? - person user2043441; 09.02.2013
comment
Я надеюсь, что команда iphone-gcc-full скоро перекомпилирует его. Также вы можете попробовать собрать ur из официальных источников gcc, но я думаю, это будет непросто ... - person Sergio; 09.02.2013

Некоторые пользователи моего проекта cydia сталкиваются с той же проблемой «Незаконная инструкция 4». У них есть iPad4 и iPhone5 (все evasi0n взломали iOS 6.1).

Я скомпилировал его с помощью кросс-компилятора arm-apple-darwin gcc / g ++ версии 4.2.1.

Я всегда использую CFLAGS = '- O2 -mthumb'.

Что касается у меня нет доступа к устройству iOS с чипом Apple A6 / A6X (iPad4, iPhone5), я ничего не могу проверить :-(

person J.Anrugas    schedule 06.02.2013
comment
Спасибо J.Anrugas за ваш ответ. Что касается вашего ответа, какое устройство вы использовали? А на какую прошивку ставится? Итак, ошибка Illegal instruction: 4 связана с чипом A6 / A6X, а не с прошивкой iOS 6.x? - person user2043441; 07.02.2013
comment
Я использовал iPhone4, iPad2 и AppleTV2 с iOS 5.1.x и iOS 6.1. По обеим прошивкам проблем нет. Некоторые пользователи моего проекта Cydia используют iPhone5 и iPad4 с iOS 6.1. Просто у них проблема с незаконным инструктажем. - person J.Anrugas; 07.02.2013

Загрузите новый GCC для iPhone 5 по следующей ссылке. скачать

person Ali    schedule 02.04.2013
comment
комментарий, я вижу ошибку после компиляции кода с новым gcc. Чтобы исправить это, сделайте следующий патч. sed -i'' 's/\x00\x30\x93\xe4/\x00\x30\x93\xe5/g;s/\x00\x30\xd3\xe4/\x00\x30\xd3\xe5/g;' hello hello - это имя выходного файла - person Ali; 03.04.2013
comment
если вы не хотите обновлять его каждый раз при компиляции кода, вам нужно заменить crt1.o и dylib1.o в /usr/lib папке iPhone на новую iOS. Кто-то по следующей ссылке разместил все необходимые файлы lib. ссылка для загрузки находится здесь. - person Ali; 03.04.2013

Попробуйте приложение CppCode ios - C / C ++ IDE и компилятор. Без взлома, без подключения к Интернету, бесплатно (mium) http://www.cppcode.info

person 4ntoine    schedule 04.12.2014