2011-09-06 3 views
2

나는 gcc w/-std = C++ 0x를 사용하여 C++ 0x/11의 범위 기반 루프를 이용 해왔다.C++ 0x/C++ 11 형식 범위 기반 루프를 clang과 함께 사용하는 방법은 무엇입니까?

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 기능을 사용하려면 무엇을해야합니까?

+0

컴파일하려는 코드는 무엇입니까? ' '을 (를) 포함 해 보셨습니까? clang은 표준 라이브러리를 어디에서 찾을 수 있는지 알고 있습니까? 범위 기반 for 루프를 제거하면 코드가 컴파일됩니까? –

답변

6

여기서 비밀은 LLVM 2.9가 범위 기반 루프를 지원하지 않는다는 것입니다. 이 문서는 LLVM/Clang 메인 라인에 해당합니다. 범위 기반 루프를 얻으려면 SVN에서 LLVM/Clang을 확인하십시오. http://clang.llvm.org/get_started.html

libC++는 C++ '0x ('11!) 라이브러리 지원에 유용하지만 원하는 경우 설정해야합니다. C++ '0x 언어 기능을 기반으로 그 기능을 사용하십시오. 설정 방법에 대한 정보는 다음을 참조하십시오. http://libcxx.llvm.org/

관련 문제