Boost logo

Boost-Build :

From: Phillip Seaver (phil_at_[hidden])
Date: 2006-11-11 15:45:39


Vladimir Prus wrote:
> On Saturday 11 November 2006 15:01, John Maddock wrote:
>
>> Vladimir Prus wrote:
>>
>>> Does it mean that if you try to mix object files compiled with
>>> different
>>> settings of <threading> they'll try to link to different runtime,
>>> producing
>>> either duplicated symbols error, or more subtle, but equally fatal,
>>> problem?
>>>
>> Yes! Usually a linker error with MSVC, silent but deadly problems with
>> Borland.
>>
>
> Ok, now what do you think should happen on MSVC, for the following example:
>
> exe a : a.cpp
> : <threading>single <runtime-link>shared
> ;
>
> Should this silently use <threading>multi, or be a an error?

Whichever you choose to silently ignore, it will be wrong for someone. :->

Seriously, though, I think it should be an error. Either the user will
get multi-threaded code when they didn't expect it, or they will be
linking the static CRT in when they wanted to link against the DLL. It
violates the principle of least surprise.

If you could also give an error message that explains it clearly, that
would be even better.

Phillip


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk