为什么clang ++缺少前瞻名单?

时间:2013-06-02 07:06:48

标签: c++11 clang++

我编写了一个简单的C ++程序,它依赖于forward_list之类的

#include <forward_list>
#include <iostream>
int main() {
  std::forward_list<int> my_list;
  my_list.push_front(3);
  std::cout << my_list.top() << std::endl;
  return 0;
}

但是,当我使用clang++ my_program.cpp -std=c++11 -o my_program在我的Mac上编译此程序时,我收到此错误:

my_program.cpp:1:14: fatal error: 'forward_list' file not found
#include <forward_list>
         ^
1 error generated.

为什么不能发现forward_list?其他C ++ 11功能正在运行。例如,auto关键字有效,尽管会出现警告,告诉我auto是C ++ 11的功能。

1 个答案:

答案 0 :(得分:4)

默认情况下,clang ++使用较旧的gcc-4.2 std库,它不支持C ++ 11。您可以通过命令-stdlib=libc++告诉clang使用支持C ++ 11的std :: lib。 libc ++有<forward_list>