Sorry you're having such difficulty. We know that there are problems
building with the C++ driver and we're trying to make it better.
If you aren't building from our very latest source code, this will be
harder. If you haven't done this already, you should probably clone
the Git archive onto your build machine. This is mostly because a lot
of scons work has gone on in the last few months.
I think that scons is building full debugging information directly
into the .lib file while the Visual Studio solution file is creating a
separate .pdb file, and that is why you are seeing the huge difference
in size.
The boost libraries are very sensitive to the exact compiling and
linking options you are using, and the file name of the Boost library
indicates exactly what that library was built for. This means that a
particular prebuilt Boost library requires your compile options to be
exactly what that library was built for. The online Boost
documentation has information on the naming convention they use, but
if you don't live and breathe Windows compiling and linking in the
Visual Studio environment you will find it rather hard to read.
In order to give myself additional flexibility in choosing my own
compile and link options (debug versus release, static versus dynamic
linking) I just built every Boost library variation from the source
code. It sounds nasty, but it's actually fairly well documented and
automated and it doesn't take too horrible an amount of time ... under
an hour on a fast machine. My "for building MongoDB" Boost universe
(C:\boost) including source code and all libraries used by MongoDB (32-
bit and 64-bit) is about 175 MB on disk. But the FULL build I did
takes more like 10 GB. Look at
http://www.boost.org/doc/libs/1_46_1/more/getting_started/windows.html
for more information, and skip down to "5.2 Or, Simplified Build
From Source" for a possible starting point.
Looking in my build source tree, I found the file libboost_thread-
vc100-mt-1_42.lib in a directory named G:\boost_1_42_0\bin.v2\libs
\thread\build\msvc-10.0\release\link-static\threading-multi . This
suggests that you are trying to create a release build by statically
linking in the multi-threaded libraries. The files you mentioned
downloading (inserting "thread" for "*" in libboost_*-vc100-mt-gd-1_42
and libboost_*-vc100-mt-s-1_42) are in G:\boost_1_42_0\bin.v2\libs
\thread\build\msvc-10.0\debug\link-static\threading-multi (for
libboost_*-vc100-mt-gd-1_42) and G:\boost_1_42_0\bin.v2\libs\thread
\build\msvc-10.0\release\link-static\runtime-link-static\threading-
multi (for libboost_thread-vc100-mt-s-1_42.lib).
I'm sorry this is so hard. You might want to try downloading a
prebuilt set of libraries from the Boost site, or you could try
changing you link settings to match the libraries you have.
If all else fails, I can e-mail you the set of Boost libraries that I
use (and that I built myself). The 32-bit set is about 3 MB
compressed with 7-zip, the 64-bit 7-zip file is a bit over 4 MB.
Good luck, and let us know how it goes!
Tad