From: John Maddock (John_Maddock_at_[hidden])
Date: 2001-10-20 05:52:17
>Now that I have a basic build system running, I notice that the Regex DLLs
generated have a name I expect would be the same if I compiled with >MSVC,
or Cygwin. Would these DLLs be interchangeable? I doubt it. Given the
windows practice of installing (almost) all DLLs in the system >folder,
isn't this asking for trouble if two tools supplied by different vendors
rely on the same boost library, but use different compilers?
Yes absolutely, and that's one reason why the regex lib still ships with
makefiles. This is not just a win32 issue, on some unix systems you more
or less have to place shared libs in a particular location, placing them
elsewhere can be very much "non-trivial" , involving either a hardcoded
path at link time, or some extra environment variables.
There is also another issue - since the jam generated libs all have the
same name, it's not possible to use automatic lib selection using the
#pragma comment(lib,"somefile.lib") syntax. And that's a very useful
feature to have, both for the end user, and for the developer - it cuts
down a lot on messages like "why does my program crash at runtime", that
are due to linking with the wrong lib build. These errors are almost
impossible to track down via email BTW, and are surprisingly easy to
commit, especially with the Borland compiler for some reason.
- John Maddock
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk