title: How to compile C++11 with clang 3.2 on OSX lion?
body: <p>I am trying to compile the following C++ program which relies on the C++11 <code>&lt;thread&gt;</code> header. I am trying to do this on OSX Lion.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;thread&gt;
  #include &lt;vector&gt;
  
  void hello()
  {
      std::cout &lt;&lt; "Hello from thread " &lt;&lt; std::this_thread::get_id() &lt;&lt; std::endl;
  }
  
  int main()
  {
      std::vector&lt;std::thread&gt; threads;
  
      for(int i = 0; i &lt; 5; i++)
      {
          threads.push_back(std::thread(hello));
      }
  
      for(auto&amp; thread: threads)
      {
          thread.join();
      }
  
      return 0;
  }
  </code></pre>
  
  <p>The above program compiles fine with g++ 4.7 which I installed using the homebrew package manager. However when trying to compile the above program with clang 3.2 (also installed using the homebrew package manager) I get the following error message:</p>
  
  <pre><code>Zameers-MacBook-Air:tmp zmanji$ clang++ -v -std=c++11 test.cpp 
  clang version 3.2 (tags/RELEASE_32/final)
  Target: x86_64-apple-darwin11.3.0
  Thread model: posix
   "/usr/local/Cellar/llvm/3.2/bin/clang" -cc1 -triple x86_64-apple-macosx10.7.0 -emit-obj -mrelax-all -disable-free -main-file-name test.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 128.2 -v -resource-dir /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2 -fmodule-cache-path /var/folders/qf/j_7_sw0n093gn1y0mtsyztxh0000gn/T/clang-module-cache -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /Users/zmanji/tmp -ferror-limit 19 -fmessage-length 101 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.7.0 -fobjc-dispatch-method=mixed -fobjc-default-synthesize-properties -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/qf/j_7_sw0n093gn1y0mtsyztxh0000gn/T/test-Zkjucl.o -x c++ test.cpp
  clang -cc1 version 3.2 based upon LLVM 3.2svn default target x86_64-apple-darwin11.3.0
  ignoring nonexistent directory "/usr/include/c++/4.2.1/i686-apple-darwin10/x86_64"
  ignoring nonexistent directory "/usr/include/c++/4.0.0"
  ignoring nonexistent directory "/usr/include/c++/4.0.0/i686-apple-darwin8/"
  ignoring nonexistent directory "/usr/include/c++/4.0.0/backward"
  #include "..." search starts here:
  #include &lt;...&gt; search starts here:
   /usr/include/c++/4.2.1
   /usr/include/c++/4.2.1/backward
   /usr/local/include
   /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2/include
   /usr/include
   /System/Library/Frameworks (framework directory)
   /Library/Frameworks (framework directory)
  End of search list.
  test.cpp:2:10: fatal error: 'thread' file not found
  #include &lt;thread&gt;
           ^
  1 error generated.
  </code></pre>
  
  <p>It seems that clang cannot find the <code>&lt;thread&gt;</code> header but I am not sure why.</p>
  
  <p><strong>Edit:</strong>
  I tried sharth's answer below and now I am getting the error that the <code>&lt;iostream&gt;</code> header does not exist.</p>
  
  <pre><code>Zameers-MacBook-Air:tmp zmanji$ clang++ -v -std=c++11 -stdlib=libc++ test.cpp 
  clang version 3.2 (tags/RELEASE_32/final)
  Target: x86_64-apple-darwin11.3.0
  Thread model: posix
   "/usr/local/Cellar/llvm/3.2/bin/clang" -cc1 -triple x86_64-apple-macosx10.7.0 -emit-obj -mrelax-all -disable-free -main-file-name test.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 128.2 -v -resource-dir /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2 -fmodule-cache-path /var/folders/qf/j_7_sw0n093gn1y0mtsyztxh0000gn/T/clang-module-cache -stdlib=libc++ -std=c++11 -fdeprecated-macro -fdebug-compilation-dir /Users/zmanji/tmp -ferror-limit 19 -fmessage-length 203 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.7.0 -fobjc-dispatch-method=mixed -fobjc-default-synthesize-properties -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /var/folders/qf/j_7_sw0n093gn1y0mtsyztxh0000gn/T/test-k2Alf4.o -x c++ test.cpp
  clang -cc1 version 3.2 based upon LLVM 3.2svn default target x86_64-apple-darwin11.3.0
  ignoring nonexistent directory "/usr/local/Cellar/llvm/3.2/bin/../lib/c++/v1"
  ignoring nonexistent directory "/usr/include/c++/v1"
  #include "..." search starts here:
  #include &lt;...&gt; search starts here:
   /usr/local/include
   /usr/local/Cellar/llvm/3.2/bin/../lib/clang/3.2/include
   /usr/include
   /System/Library/Frameworks (framework directory)
   /Library/Frameworks (framework directory)
  End of search list.
  test.cpp:1:10: fatal error: 'iostream' file not found
  #include &lt;iostream&gt;
           ^
  1 error generated.
  </code></pre>