Ale*_*lds 64 macos gcc osx-leopard osx-lion osx-mountain-lion
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位二进制文件吗?我应该知道这种方法有什么问题吗?意想不到的副作用?等等)
Ale*_*lds 36
来自Apple开发者论坛(需要帐户):
"编译器和链接器能够使用功能并执行不适用于旧操作系统版本的优化.
-mmacosx-version-min
告诉工具您需要使用哪些操作系统版本,因此这些工具可以禁用不在这些操作系统版本上运行的优化.如果需要在较旧的OS版本上运行,则必须使用此标志."不利的
-mmacosx-version-min
一点是,应用程序的性能在较新的操作系统版本上可能会更差,如果它不需要向后兼容它可能会更糟.在大多数情况下,差异很小."
fou*_*dry 18
"非法指令"消息只是告诉您,您的二进制文件包含指示您尝试在其下运行它们的操作系统版本不明白.我不能给你准确的含义,4
但我希望这是Apple内部的.
否则看看这些......它们有点旧,但可能会告诉你你需要知道什么
64位代码如何在OS-X 10.5上运行?
macosx-version-min意味着什么?
小智 5
我发现我的问题不
if (leaf = NULL) {...}
正确
if (leaf == NULL){...}
检查那些编译器警告!
归档时间: |
|
查看次数: |
117787 次 |
最近记录: |