我可以在Xcode中使用C++ 11吗?

vil*_*pam 85 c++ xcode gcc clang c++11

我正在考虑auto在一些跨平台项目(Windows + Mac)中使用一些C++ 11功能(例如).在Windows上,Visual Studio支持即将推出的C++ 11标准的部分内容,这些内容允许我简化部分代码库,因此我很自然地会对开始使用这些功能感兴趣.

但据我所知,目前的XCode版本(3.2.4 + GCC 4.2)根本不支持任何C++ 11功能.我可以以某种方式升级GCC版本或CLang版本吗?或者,我是否应该咬紧牙关,等待Apple将来某个时候打包新版本?

Ric*_*Liu 74

Xcode 4.2最终添加了对C++ 0X的支持:

  1. 在项目构建设置屏幕中,打开"所有"选项.

  2. 在"构建选项"部分中,将编译器设置为"Apple LLVM编译器3.0".

  3. 向下滚动到"Apple LLVM Compiler 3.0 - 语言"部分,将"C++语言方言"设置为"C++ 0X",将"C++标准库"设置为"libc ++".

已知std :: move(),移动构造函数和R-Value引用按预期工作,我正在测试std :: thread和std :: atomic.

  • @ RichardLiu,`C++ Language Dialect`的`GNU ++ 0X`选项和`C++ Standard Library`的`libstdc ++`选项怎么样?什么时候使用它们? (2认同)

jus*_*tin 8

======= 2012年更新:=======

从Clang开始 - Clang现在提供了许多C++ 11功能.它包含在Xcode中.

======= 2011年1月的原始答案:=======

intel的编译器可能是目前最干净的方法. http://software.intel.com/en-us/articles/intel-composer-xe/

clang很有前途,但不是特别稳定或具有特定的wrt c ++ 0x功能.c ++对于clang来说仍然是一个新的东西.

gcc:相对成熟,但你必须为xcode编写和维护你的编译器插件.

你也可以指定自定义脚本,但这很难维护......除非你全力以赴创建一个适配器工具.