繁体   English   中英

如何使用标准 Apple 版本的 clang 从命令行在 M1 Mac 上构建 Intel 二进制文件?

[英]How to build an Intel binary on an M1 Mac from the command line with the standard Apple version of clang?

我正在 M1 MacBook Air 上使用一些 C 代码,并查看以各种优化级别生成的组件。

我正在使用最基本的命令从命令行构建一个 C 文件:

cc foo.c -o foo

我使用什么开关来构建英特尔二进制文件而不是 ARM? 有不同口味的英特尔吗? 32 对 64 位? 也许甚至更旧的 CPU 指令集? 这对谷歌来说非常困难,但我是苹果生态系统的新手。

胖二进制文件呢? 如何从命令行构建包含 Intel 和 ARM 代码的单个二进制文件?

(出于这个问题的目的,我只对我可以在命令行上执行的操作感兴趣。如果我需要设置 XCode 项目或环境变量,那么我会接受一个答案,只是说“你不能这样做仅使用命令行”。)

自 Catalina 以来,英特尔 32 位无法在 macOS 上执行。 自 2006 年以来的每台 Mac,除了最初的配备 Core Solo 处理器的 Intel Mac mini 外,都支持 64 位。

英特尔: clang -o myTool-x86_64 -mmacosx-version-min=10.15 -arch x86_64 main.c

ARM64: clang -o myTool-arm64 -mmacosx-version-min=10.15 -arch arm64 main.c

FAT 二进制文件: lipo myTool-x86_64 myTool-arm64 -create -output myTool

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM