我是使用 Xcode for C++ 的 Mac OS X Lion 用户,似乎没有可用于 Xcode 的更新。我似乎无法编译 C++11 独有的代码,但无论出于何种原因,我认为 Apple 已经基本实现了 C++11。是的,我确实支持命令行工具。
再说一次,那可能只是我。如果是这样,是否有任何支持 C++11 的 IDE 或任何升级方式?
我使用 Xcode 并设置以下设置:
C++ 语言方言:C++11 或 GNU++11
C++ 标准库:libc++(支持 C++11 的 LLVM C++ 标准库)
Xcode 版本:4.3.2
如果您使用的是 Xcode 4.3,则需要使用 C++11 功能进行几个相关的项目设置。首先是使用clang编译器。就像是
GCC_VERSION = com.apple.compilers.llvm.clang.1_0
在您的.xcconfig
意愿中设置它,或者您可以使用 GUI。
接下来,您需要告诉 LLVM 使用哪个 C++ 标准:
CLANG_CXX_LANGUAGE_STANDARD = gnu++11
这将使诸如基于范围的语言特性、委托构造函数等可用。
最后,如果要使用 C++11 STL 特性(例如std::unordered_map
),则需要使用 libc++ STL:
CLANG_CXX_LIBRARY = libc++
在 XCode 5 / opencv 2.4.9 上,我可以选择:
它的构建没有错误。如果我在没有指定 C++ 语言方言的情况下设置 libc++,那么我会遇到与 OP 相同的问题