对于 Xcode 4.4 及更早版本,每个 SDK 过去都有一个指向 Clang 编译器的副本或符号链接,网址为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/
SDKs/iPhoneOS${IPHONE_SDKVERSION}.sdk/usr/bin/clang++
对于 Xcode 4.5.2,上述路径中没有 Clang 编译器。然而,我发现它在
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
b) 为什么不再依赖SDK版本?
这是因为 clang 可以使用单个(顶级)二进制文件针对多个架构进行编译。之前基于 gcc 的工具链每个架构需要一个 gcc。
See 如何在macosx下使用arch armv7s编译libcurl? https://stackoverflow.com/questions/12636315/how-to-compile-libcurl-with-arch-armv7s-under-macosx例如将 arch 标志传递给 clang。
此外,您可以使用 xcrun 来查找您的工具,而不是对其位置进行硬编码。例如,针对 iOS 进行交叉编译时:
export CC=`xcrun --sdk iphoneos --find clang`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)