问题描述
我正在用 C 语言开发一个项目,该项目多年来一直在 Windows、macOS 和各种形式的 Linux 中愉快地编译。
随着 Apple Silicon 在 macOS 中的出现,有必要绕过某些特定于英特尔的代码部分,这些部分依赖于 SSE 指令等内容,以便在 M1 等 ARM64 处理器上构建。
这对于预处理器指令(即 #if defined (__i386__) || defined(__x86_64__)
)来说很简单,但由于代码的这些特定于英特尔的部分大多与它们自己的文件隔离,并且代码知道如何在构建时替换代码在非英特尔机器上,当程序通过 Makefile 构建时,它只会在非英特尔机器上跳过这些文件。
如果可以在 Xcode 中排除架构文件,我就不必使用预处理器指令,但我没有看到任何方法可以告诉它在构建二进制文件的 Apple Silicon 部分时排除文件。
有没有办法做到这一点?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)