I’ve built and installed boost on a WinXp system with VS.Net 2003.  I’m trying to use it in a static CRT project.  I get the following error whenever I compile:

>      error C1189: #error :  "Mixing a dll boost library with

>      a static runtime is a really bad idea..."

 

I noticed that this is happening because BOOST_DYN_LINK is #defined in config.hpp.  Apparently dynamic linking is the default for Boost?

 

Anyway, I’ve commented out this #define, but now I get a ton of warnings like the following

>      warning C4275: non dll-interface class 'std::logic_error'

>      used as base for dll-interface class 'boost::lock_error'

and the project won’t link

>            error LNK1104: cannot open file 'libboost_thread-vc71-mt-s-1_31.lib'

 

I looked in Boost’s lib folder and there aren’t any static thread binaries (eg, “libboost_thread_xxx.lib).  There are only the dynamic libraries (boost_thread_xxx.lib).  Apparently something failed in the build process.  I have to admit I didn’t sit and watch the build process for the half-hour it took to build, so something may have gone wrong.  Is there a build log somewhere?  Is it possible to have bjam only build Boost.Threads so that I can see if there’s an error without having to rebuild the entire library?

 

 

 

Thanks,

Aaron Simmons