我有颇富狮子的Xcode 4.5.2,和我有安装最新的“命令行工具”,但是当我试图编译g++
或clang++
(和选项-std=c++11 -stdlib=libc++
)我得到一个错误。 用g++
:
cc1plus: error: unrecognized command line option "-std=c++11"
cc1plus: error: unrecognized command line option "-stdlib=libc++"
随着clang++
:
clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
这是在Qt工程。
那么,如何可以使用C ++ 11在我的Mac?
当你发现,G ++不支持这些命令行选项。
这听起来像你使用Xcode的。
对于铛,你应该看看该项目的设置,并确保“部署目标”设定为10.7(10.8)
什么错误信息,告诉你的是,的libc ++不适用于10.6和前。
我安装我的Mac上的gcc-4.7,使C ++ 11的工作。 GCC在其目前的版本是支持C ++ 11还算不错,所以这应该是一个合理的选择。
安装可以这样做自制并没有那么复杂(至少我是能够做到这一点...)
要安装自制,如果你不已经拥有了它:
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
现在运行
brew doctor
并解决什么问题上来(有书面的hombrew文档中的的东西)。 最后,安装最新的GCC:
brew install gcc
如果一切顺利的话,你应该能够访问g++-4.7
,它允许-std=c++0x
。
尝试-std=c++0x
,如果c++11
不起作用。 为支持-std=c++11
的选择是在GCC相对较新的,你可能没有足够新的版本。
我相信在libc中++问题马歇尔。