Boost logo

Boost :

From: Alan Stokes (A.Stokes_at_[hidden])
Date: 2004-10-05 06:42:11


I've just tried to start using the minimal test facility. Unfortunately it
fails to compile, and there's no way I can fix that without radically
changing my build configuration.

My code has #include "boost/test/minimal.hpp" in it; my include path
includes a directory which has a boost directory within it containing all
the boost headers, so this works fine.

But minimal.hpp includes the line
 #include <libs/test/src/execution_monitor.cpp>
which fails to compile - because my include path doesn't have a directory
with the boost libs directory in it. And nor should it.

This is unfortunate, and arguably a violation of the header policy (libs as
a sub-directory name is highly likely to clash with other libraries, unlike
boost).

Header files should not be including implementation files. This is
especially the case with the minimal test facility, whose whole point is to
be usable without requiring linking with implementation files. Changing to
textual inclusion of implementation files is not a great improvement.

Could the necessary implementation detail not be moved into some header
files, which can then be included as necessary by both the cpp files and
minimal.hpp?

(Note that this is not a new issue - see also
http://lists.boost.org/MailArchives/boost/msg05435.php)

- Alan


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