<p>I've worked with a couple of Visual C++ compilers (VC97, VC2005, VC2008) and I haven't really found a clearcut way of adding external libraries to my builds.  I come from a Java background, and in Java libraries are everything!  </p>

<p>I understand from compiling open-source projects on my Linux box that all the source code for the library seems to need to be included, with the exception of those .so files.</p>

<p>Also I've heard of the .lib static libraries and .dll dynamic libraries, but I'm still not entirely sure how to add them to a build and make them work.  How does one go about this?</p>

Ok.   typically you don't want to load dynamic libraries by hand, but if you do, look into LoadLibrary.
you then have to call other functions to get function pointer addresses and so forth.
Typically how it works, is even .dll files have .lib files for them.. so when they are needed, they just automatically load.
how you specifiy .lib files /static libraries is under Properties/Linker/Input->Additional Dependencies. in the gui.
if you are scripting this.. well. you just specifiy the .lib files on the command line at link time.