title: Why do I get a missing dll error after linking with a .lib?
body: <p>I am working on this Windows program from 1999. I was unable to build it in Visual Studio as it kept giving me linker errors about missing symbols. Then my collegue told me to try taking .lib files from original project and try to specify them as additional link dependencies. I did it and the program linked fine. When I tried to run it, it complained about missing dll files. So I found an existing copy of the Windows program running on some old computer, copied the dll files and my build started working! It was the happiest day in my life but I don't quite know what happened.</p>
  
  <p>Can anyone briefly explain what are lib files in Windows and how they relate to dlls?</p>