Что такое ошибка «Illegal Instruction: 4» и почему «-mmacosx-version-min = 10.x» исправляет ее?
я получил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-разрядные двоичные файлы? Есть ли ошибки с таким подходом, о котором я должен знать? Непреднамеренные побочные эффекты? И т.д.)