3 回答

TA贡献1898条经验 获得超8个赞
从苹果开发者论坛(需要帐户):
“编译器和链接器能够使用某些功能,并执行在较旧的OS版本上不起作用的优化。-mmacosx-version-min告诉工具您需要使用哪个OS版本,因此这些工具可以禁用那些不能在这些OS版本上运行的优化。如果需要在较早的OS版本上运行,则必须使用此标志。
“不利的一面-mmacosx-version-min是,在较新的OS版本上,该应用的性能可能会更差,如果不需要向后兼容,则性能可能会下降。在大多数情况下,差异很小。”

TA贡献2051条经验 获得超10个赞
“非法指令”消息只是告诉您二进制文件包含指令,您尝试在其下运行的操作系统版本不理解。我不能给您确切的含义,4但是我希望这是Apple内部的。
否则看看这些...它们有些旧,但是可能告诉您您需要知道什么

TA贡献1803条经验 获得超3个赞
考虑到这一点,我有意识地将这个答案写在了一个老问题上,因为其他答案并没有帮助我。
我Illegal Instruction: 4在编译二进制文件的同一系统上运行二进制文件,因此-mmacosx-version-min没有帮助。
我在Mac OS X 10.11的代码块16中使用了gcc。
但是,关闭所有代码块的编译器标志以进行优化是可行的。因此,请查看所有设置了代码块的标志(右键单击Project->“ Build Properties”),然后关闭所有您确定不需要-s的-O标志,尤其是用于优化的标志。对我来说就做到了。
- 3 回答
- 0 关注
- 915 浏览
添加回答
举报