Jef*_*son 5 arrays xcode g++ include
我正在编写一个程序,它将使用C++标准库的数组容器来保存一些对象.但是,每当我尝试在我的程序中包含以下代码行时:
#include <array>
Run Code Online (Sandbox Code Playgroud)
我在编译时收到以下错误:
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$
Run Code Online (Sandbox Code Playgroud)
注释#include让我编译得很好.当然我忽略了一些简单的事情?我在Xcode中安装了"命令行工具",我还缺少什么吗?
编辑:
我在计算机上找到了阵列的位置
/usr/clang-ide/lib/c++/v1
Run Code Online (Sandbox Code Playgroud)
知道了,我该怎么办?
<array>C++11中提供,需要提供-std=c++11flag才能启用,并提供-stdlib=libc++对应库的flag。但是Xcode提供的g++太老了,对C++11没有太多支持。你能切换到 clang 吗?
clang++ -std=c++11 -stdlib=libc++ mms.cpp -o mms
Run Code Online (Sandbox Code Playgroud)
从它的外观来看,你没有使用LLVM的libc ++,而是使用GCC的libstdc ++.
要std::array在后一种情况下使用,请使用:
#include <tr1/array>
Run Code Online (Sandbox Code Playgroud)
如果你想使用libc ++和C++ 11,那么改变你的编译器标志为KennyTM建议(+1).