title: libc++ - stop std renaming to std::__1?
body: <p>After substantial effort getting clang and libc++ to compile, run, integrate with NetBeans, and even cross-compile to a 32-bit machine, I thought I had it all figured out! So I go to use some features that libstdc++ didn't have (the entire reason for turning my dev environment upside down), and discover... I can't actually do that.</p>
  
  <p>libc++ is installed, it works, and the compiled program (when it works) does require it. However, the compiler still tries to use libstdc++ versions at every opportunity, by messing with the namespace; <code>std::__1::map</code>, <code>std::__1::basic_string</code>, and so on. Now, I know from <a href="https://stackoverflow.com/questions/8454329/why-cant-clang-with-libc-in-c0x-mode-link-this-boostprogram-options-examp">this question</a> why that happens, and why libc++ does it. I just need to know how to <em>obliterate</em> it, because it's completely inapplicable - I really, truly do want to use the libc++ versions, and there is nothing in my code that would require the two types to coexist.</p>
  
  <p>I've tried taking the libstdc++ folders out of the include path, and, failing, that, made them completely inaccessible. No luck. I'm not using any add-on libraries, only built-in Linux/POSIX headers (errno, socket, syslog, fcntl).</p>
  
  <p><strong>EDIT:</strong> Error message:</p>
  
  <pre><code>CoreCache.cpp:61:12: error: no member named 'emplace' in 'std::__1::map&lt;std::__1::basic_string&lt;char&gt;, CacheEntry, std::__1::less&lt;std::__1::basic_string&lt;char&gt; &gt;, std::__1::allocator&lt;std::__1::pair&lt;const std::__1::basic_string&lt;char&gt;, CacheEntry&gt; &gt; &gt;'
  </code></pre>
  
  <p>The libstdc++ map does not have emplace(). The libc++ version <em>does</em>.</p>
  
  <p>The following invocation, from the command line, seems to work:</p>
  
  <pre><code>clang++ -o stachecache -I /usr/local/lib/clang/3.1/include/ -I /usr/include/c++/v1/ -std=c++0x -stdlib=libc++ ./*.cpp
  </code></pre>
  
  <p>The invocation from within NetBeans does not:</p>
  
  <pre><code>clang++ -stdlib=libc++ -O3   -c -O3 -Werror -MMD -MP -MF build/Release/clang-Linux-x86/CoreCache.o.d -o build/Release/clang-Linux-x86/CoreCache.o CoreCache.cpp
  </code></pre>