title: Why does clang/llvm on windows require Visual Studio's Link.exe?
body: <p>According to <a href="http://llvm.org/docs/GettingStartedVS.html" rel="noreferrer">LLVM's Getting Started (Windows) site</a>:</p>
  
  <blockquote>
    <p>... Clang can be used to emit bitcode, directly emit object files or even linked executables using Visual Studio’s link.exe.</p>
  </blockquote>
  
  <p>Why is the use of <code>Link.exe</code> on Windows necessary? And, for that matter, what is used on Mac/Linux? Further down it says:</p>
  
  <pre><code>Compile the program to object code using the LLC code generator:
      C:\..&gt; llc -filetype=obj hello.bc
  Link to binary using Microsoft link:
      C:\..&gt; link hello.obj -defaultlib:libcmt
  </code></pre>
  
  <p>Why can't LLC perform that last step? LLI seems to work fine so I assume that it interoperates with <code>link.exe</code> somehow under the hood - why can't LLC?</p>