Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to compile C++11 with clang 3.2 on OSX lion?
    text
    copied!<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>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload