![](/img/trans.png)
[英]"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.