clang ++ C ++ 11调用

时间:2011-11-28 23:38:40

标签: c++ c++11 clang

虽然这里有一些关于clang的C ++ 11支持的问题,但我似乎无法让clang++吃掉我的C ++ 11代码。

$ clang++ --version
clang version 2.9 (tags/RELEASE_29/final)
Target: x86_64-pc-linux-gnu
Thread model: posix

根据the clang C++11 status page我应该至少得到部分支持(例如直角括号),但它拒绝我测试的所有功能。

是否有任何转换告诉clang使用C ++ 11?


示例测试:

$ clang++ -stdlib=libstdc++ cpp11.cpp 
cpp11.cpp:16:33: error: a space is required between consecutive right angle brackets (use '> >')
  std::vector<std::pair<int,char>> xs;
                                ^~
                                > >
cpp11.cpp:18:8: error: C++ requires a type specifier for all declarations
  auto y = x;
  ~~~~ ^
2 errors generated

1 个答案:

答案 0 :(得分:21)

ildjarn指出了正确的参数-std=c++0x-std=c++11。您使用该参数获得的错误可能是因为您使用的libstdc ++版本使用的是某些C ++ 11或非标准C ++,而clang 2.9不支持。