23

我在 OS X 10.8.2 上使用 Xcode 4.5.2。我如何知道 Xcode 使用的是哪个版本的 LLVM 编译器?

4

3 回答 3

29

从命令行:

07:40:35 andrew@iMac SalesIQ (siq-303)$ llvm-gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 - enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
07:40:39 andrew@iMac SalesIQ (siq-303)$ 
于 2013-01-06T20:41:45.887 回答
7

从用户界面:

  • 点击你的项目
  • 选择一个目标(可以默认选择)
  • 单击构建设置选项卡
  • 滚动它以查看“Apple LLVM 编译器:XX - 代码生成”

XX 是你的 LLVM 的版本

于 2013-01-06T20:41:55.847 回答
7

这取决于您的构建设置;您可以选择 Clang 或 llvm-gcc,并且 iOS 版本可能使用与 OSX 不同的版本。要准确查看使用的版本,请扩展构建日志的编译选择,例如“<code>Compile ViewController.m”。会有一行像“<code>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x ...</code>”

或者

“<code>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 -x…</code>”

选择编译器的路径,在终端中执行以下命令:

8> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --version

Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)…

或者

9> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 --version

i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2410.2.00)…

请注意,Apple Clang 版本控制不同于 GCC 版本控制和开源 LLVM。

于 2013-01-08T15:29:05.760 回答