A nube question . I have been trying to understand the whole link process in VC++ . I use visual studio 8. I was trying to install the prebuild boost libs from boostpro and I tried to build my source against  1) , 2) and 3) .


The three are.

1)Multithread, static runtime
libboost_thread-vc80-mt-s-1_38.lib
2)Multithread
libboost_thread-vc80-mt-1_38.lib
3)Multithread , DLL
boost_thread-vc80-mt-1_38.dll
boost_thread-vc80-mt-1_38.lib

 

I expected there to be Multithreaded static lib and then a multithreaded dynamic shared dll . Just 2 of them , not 3 . Could someone explain the need for 3 and not just 2. OR point me to a article or something please .

I have vaguely figured that

1) static boost and static CRT .

2) static boost and dynamic CRT.

3) dynamic boost and dynamic CRT.

am i right ? 

 

I believe boost automatically picks up the right libs based on your project .
So , when i tried to build a simple project using these libs .
while using the /MT option for code generation , 1) was used as I expected it to.
while using the /MD option for code generation , it linked to 2) . 

I am not able to build using 3) , in spite of a lot of probing into the VC8 configuration options .
Also , what configuration would be needed to make my project use the boost dll i.e 3).

 

thanks in advance .