title: How to improve link performance for a large C++ application in VS2005
body: <p>We have fairly large C++ application which is composed of about 60 projects in Visual Studio 2005. It currently takes 7 minutes to link in Release mode and I would like to try to reduce the time. Are there any tips for improving the link time?</p>
  
  <p>Most of the projects compile to static libraries, this makes testing easier since each one also has a set of associated unit tests. It seems the use of static libraries prevents VS2005 from using incremental linking, so even with incremental linking turned on it does a full link every time.</p>
  
  <p>Would using DLLs for the sub projects make any difference? I don't really want to go through all the headers and add macros to export the symbols (even using a script) but if it would do something to reduce the 7 minute link time I will certainly consider it.</p>
  
  <p>For some reason using nmake from the command line is slightly faster and linking the same application on Linux (with GCC) is much faster.</p>
  
  <ul>
  <li>Visual Studio IDE  7 minutes</li>
  <li>Visual C++ using nmake from the command line - 5 minutes</li>
  <li>GCC on Linux 34 seconds</li>
  </ul>