Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-11-18 10:50:39


C. Andy Martin wrote:

>
> This problem occurs in a scenario where a DLL exports no symbols. This
> would happen for a `plugin' DLL which uses some other dynamic object,
> like a DLL to register callbacks, etc. which don't have to have symbols
> exported. What happens is msvc doesn't actually make a .lib import
> library for the DLL, but Boost.Build expects it to make a .lib import
> library. The project builds fine until it gets to the stage rule, which
> tries to copy the non-existant .lib file. This results in a failed stage
> target for each variant of the library, which is merely an annoyance,
> since bjam builds everything else fine. (The reason it is annoying is I
> can't always use bjam -q, since these targets always fail). Is there
> some simple way around this? (Such as keeping the stage rule from
> including the .lib file?, or always touching a .lib file so that when
> MSVC doesn't make one, an empty one exists? or only having the stage
> rule copy in .lib files which exist?)

One workaround I know is to put this to DLL:

#ifdef _WIN32
__declspec(dllexport) int force_library_creation;
#endif

- Volodya

 


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