我在OSX 10.11上使用cmake
和clang
(700.1.81)在~1 y.o上编译OSX的跨平台C / C ++ CLI应用程序。 RMBP。我使用CPack将我的应用程序打包为拖放式.dmg
安装程序。
当我在旧机器(~4 .y.o)上测试二进制文件时,我经常遇到SIGILL
非法指令错误(即使在相同的OSX版本上)。我应该使用什么神奇的编译器调用来构建"泛型"中央处理器? llc
例如支持-mpcu=generic
标记,但是clang不识别该标记,并且clang man
页面建议-march=cpu
,但是如果我尝试{{1}我收到-march=generic
错误。
我已经通过error: unknown target CPU 'generic'
指定了较旧的OSX版本,但这似乎不是问题。
我是否必须通过目标三元组指定通用CPU?有什么选择?
答案 0 :(得分:0)
对于通用架构,请尝试-march=x86-64
。例如,这应该可以防止生成Haswell特定的指令。