簡體   English   中英

如何獲得基於C ++ 0x / C ++ 11樣式范圍的循環以與clang一起工作?

[英]how to get C++0x / C++11 style range-based for loops to work with clang?

我一直在使用gcc w / -std = c ++ 0x在C ++ 0x / 11中利用基於范圍的for循環,如下所示:

for (int i : container) ...

我最近嘗試了clang(clang + llvm-2.9-x86_64-apple-darwin10),但是現成的這些語句是編譯錯誤。 根據http://clang.llvm.org/cxx_status.html的支持。 我嘗試在命令行上添加-stdlib = libc ++,但是隨后出現一個錯誤,即找不到iostream標頭。 我需要做什么才能使clang與C ++ 0x / 11功能一起使用?

這里的秘密是LLVM 2.9不支持基於范圍的for循環。 該文檔對應於LLVM / Clang主線。 要獲取基於范圍的循環,請從主線SVN中檢出LLVM / Clang: http : //clang.llvm.org/get_started.html

libc ++對於C ++'0x('11!)庫支持很有用,但是如果要在C ++'0x語言功能之上使用它的功能,則還必須進行設置。 有關如何設置的信息,請參見: http : //libcxx.llvm.org/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM