Hi,

I recently began using boost in a project on Windows using MS Visual Studio 9.0 2008 using CMake, i.e. the project setup is auto-generated using the correct boost libraries as link targets. In my project, I link to boost_thread*.lib, which should be the import library for boost_thread*.dll.

However, when I compile the project, the I get the following linking error:

Error    43    fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-1_48.lib'    rsb-chat-1    rsb-chat-1

So it seems necessary to have the static library present as well when linking the executable. At first I thought this was the default auto-linking behavior described in the documentation, i.e. static linking. However, once all needed static libraries are supplied, the final executable still needs the dynamic boost_*.dll libraries. This did not seem right to me...

Now, when I disable auto-linking using

#define BOOST_ALL_NO_LIB

the linker will not try to link the static libboost_thread*.lib, but instead use the boost_thread*.lib that was defined in the project settings.

I couldn't find any documentation on this specific auto-linking behavior.
Thanks,

Robert