Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-08-19 14:51:17


----- Original Message -----
From: "John Maddock" <John_Maddock_at_[hidden]>

> Now the problem was with linker command line lengths getting too long if
> there are more than a couple of .cpp files to add to the lib, and the
> suggestion was that some of the .cpp files be built as a static lib first,
> and that this could then be linked in - except that this really doesn't
> work (see attached project).

Well, that's just nasty. I see that in fact it works neither with MSVC nor
with Cygwin. I really only care that it works with Cygwin, since other
compilers will let me build command files to take care of it. The really
annoying thing here is that under Cygwin, a static lib is just supposed to
be an archive of object files. If you build the object files with the
appropriate options and directives for inclusion in a DLL, I can't
understand why it shouldn't work.

> We could I suppose create a single .cpp file
> that just #includes all the others and then build the dll as a single file
> - but then changes to one of the .cpp files means the whole thing has to
be
> rebuilt rather than just rebuilding one .cpp file and relinking.

I wouldn't suggest that; it too is nasty.

> In any case I've had a chance to test the latest FTJam release now, and
> that does at least build the regex lib as a dll without using any of these
> hacks (and yes even under win98!), so maybe we should forget the whole
> thing for now...

Even that will depend on some fragile parameters. For example, if
ALL_LOCATE_TARGET is used to build into a different location, the paths
could get long again. While I'm glad that you're not currently experiencing
a problem, I'd rather find a more reliable solution if possible.

Regards,
Dave


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