Boost logo

Boost :

Subject: Re: [boost] Default variants on windows
From: Peter Dimov (pdimov_at_[hidden])
Date: 2009-04-08 10:13:10


Vladimir Prus wrote:
> Per:
>
> https://svn.boost.org/trac/boost/ticket/2899
>
> we have a problem that the default set of libraries
> build on Windows does not match autolink defaults, which
> causes confusion. In that issue, John say that the only
> sensible solution for Windows is to build all possible
> variants by default (IIRC, a total of 6). I would like
> other Windows developers to comment if that is sensible
> solution. In particular, is it best to build all possible
> variants that user might need, or build just the variants
> that autolink needs by default, so that user can build other
> later.

There is no autolink default (except for link=static). Autolink links to
whatever matches the current compiler options. For VC++ 7.1 or earlier, this
means 6 variants:

* runtime-link=static, threading=(single|multi), variant=(debug|release)
* runtime-link=dynamic, threading=multi, variant=(debug|release)

For VC++ 8.0 or later, the variants are four, as the runtime is always
multithreaded:

* runtime-link=(static|dynamic), threading=multi, variant=(debug|release)

The default in the IDE for new projects is, I believe,

* runtime-link=dynamic, threading=multi, variant=(debug|release)

but VC++8 DLL RTL deployment is somewhat painful so most people immediately
switch to static (or forget and later switch to static, cursing quietly,
when it's reported to them that the program doesn't start with
initialization error 0xC00something.)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk