我正在尝试为armv7和arm64制作一个二进制文件。 我正在使用此命令来编译一个简单的C文件:
clang -arch arm64 hello.c -o hello -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
如何在此命令中添加armv7以支持iPad 4等旧设备?知道xCode 9在iOS 11中不再支持armv7吗?
答案 0 :(得分:2)
只需添加-arch armv7
:
clang -arch armv7 -arch arm64 hello.c -o hello -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
这将在两种架构下生成一个胖二进制文件。
也请注意,您可以使用xcrun
来避免提供完整的系统根目录:
xcrun -sdk iphoneos clang -arch armv7 -arch arm64
答案 1 :(得分:0)
作为Siguza答案的更新,从Xcode 11开始获取SYSROOT的方法是:
xcrun --sdk iphoneos --show-sdk-path