可能重复:
我可以在Xcode中使用C ++ 11吗?
似乎xcode 4包含旧版本的clang和gcc。我可以升级gcc或clang并将它们与xcode 4一起使用吗?我想用gcc> = 4.6或最新的铿锵声。
我的主要目标是在mac osx lion上编写C ++时可以使用C ++ 11中的新功能,因此如果需要,dcodeing xcode也是一个选项。
我有什么选择来实现这一目标?
可能重复:
我可以在Xcode中使用C ++ 11吗?
似乎xcode 4包含旧版本的clang和gcc。我可以升级gcc或clang并将它们与xcode 4一起使用吗?我想用gcc> = 4.6或最新的铿锵声。
我的主要目标是在mac osx lion上编写C ++时可以使用C ++ 11中的新功能,因此如果需要,dcodeing xcode也是一个选项。
我有什么选择来实现这一目标?
Xcode 4.1中的clang版本支持一些C ++ 11功能,包括可变参数模板和右值引用。另外,libc ++是Lion中包含的C ++ 11标准库的实现。
看我的回答 Osx Lion:Xcode 4.1如何设置c ++ 0x项目 有关设置此项的详细信息。
每个版本的Xcode 4都增加了新的编译器支持功能。请在出现时试用Xcode 4.2。
Macports提供GCC 4.6,但任何GCC版本> = 4.2.1(即最新的官方Apple GCC)都无法直接创建通用二进制文件(一个文件中的32位和64位代码)。可能还有其他缺点,但否则这应该对你有用。
考虑将Clang ++与libc ++一起使用 http://libcxx.llvm.org/
它支持Mac OS X并且除了原子之外还有大约98%的C ++ 0x功能完成。
事实证明,XCode 4.2.0(与Snow Leopard兼容的最新版本)仅附带CLANG 2.0,因此没有C ++ '11的东西。 (即使XCode 4.2.1仍然使用CLANG 2.0,所以你似乎至少需要XCode 4.2.3和Lion才能使用任何C ++ '11。
我最近花了一些时间安装Macports GCC 4.6并修改一些Xcode编译器模板,以便我可以从我的Xcode项目中选择和使用它。我最终得到了它的工作,主要的缺点是GCC 4.6不知道如何处理“块”。如果你打算做任何COCOA,GUI的东西,那么这对你来说可能不是一个好选择(因为一堆NS Object头文件包含块,你很早就停止了)。
如果您正在进行任何其他类型的项目,您可以使用此方法。
您甚至可以通过一些创造力来创建通用二进制文件。我有关于如何在这里完成此事的所有详细信息:
http://thecoderslife.blogspot.com/2015/07/building-with-gcc-46-and-xcode-4.html