Я получаю ошибки Illegal Instruction: 4
с двоичными файлами, скомпилированными с GCC 4.7.2 в Mac OS X 10.8.2 ( "Горный лев" ), когда эти двоичные файлы запускаются под Mac OS X 10.7.x( "Lion" ) и ранее версии. Бинарные файлы работают правильно в Mac OS X 10.8.x.
Я добавил -mmacosx-version-min=10.5
к моим флагам компиляции, и это, похоже, поможет решить проблему для клиентов 10.5.x, 10.6.x и 10.7.x, что бы это ни было.
Что касается моих вопросов:
- Что такое ошибка
Illegal Instruction: 4
? - Почему
-mmacosx-version-min=10.x
исправляет эту конкретную ошибку на10.x
и более крупных клиентах?
Я хотел бы применить это исправление к моим файлам make файлов, но хотел бы знать, что он делает, прежде чем я вытащу триггер. (У меня есть большие двоичные файлы? У меня все еще есть 64-битные бинарные файлы? Есть ли ошибки с таким подходом, о котором я должен знать? Непреднамеренные побочные эффекты и т.д.)