Mac OSX 10.7.4,Xcode 4.4.1,没有<array>头文件?</array>

时间:2012-09-20 16:24:07

标签: xcode arrays include g++

我正在编写一个程序,它将使用C ++标准库的数组容器来保存一些对象。但是,每当我尝试在我的程序中包含以下代码行时:

#include <array>

我在编译时收到以下错误:

75-143-76-177:soft jeffersonhudson$ g++ mms.cpp -o mms
mms.cpp:5:17: error: array: No such file or directory 
75-143-76-177:soft jeffersonhudson$ 

评论#include让我编译得很好。当然我忽略了一些简单的事情?我在Xcode中安装了“命令行工具”,我还缺少什么吗?

编辑:

我在计算机上找到了阵列的位置

/usr/clang-ide/lib/c++/v1
知道了,我该怎么办?

2 个答案:

答案 0 :(得分:5)

从它的外观来看,你没有使用LLVM的libc ++,而是使用GCC的libstdc ++。

在后一种情况下使用std::array,请使用:

#include <tr1/array>

如果你想使用libc ++和C ++ 11,那么就像KennyTM建议的那样改变你的编译器标志(+1)。

答案 1 :(得分:4)

在C ++ 11中提供了

<array>,您需要提供-std=c++11标志来启用它,并为相应的库提供-stdlib=libc++标志。但是Xcode提供的g ++已经很老了,对C ++ 11没有多少支持。你能切换到铿锵声吗?

clang++ -std=c++11 -stdlib=libc++ mms.cpp -o mms