2

在 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 版本?

4

1 回答 1

2

这是因为 clang 可以使用单个(顶级)二进制文件编译多个架构。以前基于 gcc 的工具链需要每个拱一个 gcc。

看看macosx下如何用arch armv7s编译libcurl?例如将拱标志传递给铿锵声。

此外,您可以使用 xcrun 来查找您的工具,而不是硬编码它们的位置。例如,针对 iOS 进行交叉编译时:

export CC=`xcrun --sdk iphoneos --find clang`
于 2013-05-15T22:19:05.773 回答