2011-09-06 28 views
2

我已經利用的範圍爲基礎的使用gcc中的C++ 0x/11環瓦特/ -std =的C++ 0x像這樣:如何獲得C++ 0x/C++ 11風格基於範圍的循環與clang一起工作?

for (int i : container) ... 

我最近嘗試鐺(鐺+ LLVM -2.9-x86_64-apple-darwin10),但現成的這些語句是編譯錯誤。根據http://clang.llvm.org/cxx_status.html支持。我嘗試在命令行中添加-stdlib = libC++,但後來發現iostream頭沒有找到。我需要做些什麼才能讓clang使用C++ 0x/11的功能?

+0

您試圖編譯的代碼是什麼?你有沒有試過包括''?鏗鏘知道哪裏可以找到標準庫?如果你刪除了基於範圍的for循環,代碼是否被編譯? –

回答

6

這裏的祕訣是LLVM 2.9不支持基於範圍的for循環。該文件對應於LLVM/Clang主線。要獲得基於範圍的循環,請查看mainline SVN中的LLVM/Clang:http://clang.llvm.org/get_started.html

libC++對於C++'0x('11!)庫支持非常有用,但是如果您想要在C++'0x語言特性上使用它的功能。有關如何設置它的信息,請參閱:http://libcxx.llvm.org/

相關問題