用于二进制分发的clang编译器标志(通用CPU)

时间:2015-12-17 06:48:45

标签: c++ c macos clang

我在OSX 10.11上使用cmakeclang(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?有什么选择?

1 个答案:

答案 0 :(得分:0)

对于通用架构,请尝试-march=x86-64。例如,这应该可以防止生成Haswell特定的指令。