Illegal Instruction: 4
当这些二进制文件在 Mac OS X 10.7.x(“Lion”)和更早版本下运行时,我在 Mac OS X 10.8.2(“Mountain Lion”)下使用 GCC 4.7.2 编译的二进制文件出错。二进制文件在 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
我想将此修复应用到我的 makefile,但想在扣动扳机之前知道它在做什么。(我会有更大的二进制文件吗?我还有 64 位二进制文件吗?我应该知道这种方法的陷阱吗?意外的副作用?等等。)