簡體   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