[英]"exec format error" when running containers build with Apple M1 Chip (ARM based systems)
[英]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.