Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-02-16 05:57:09


Hartmut Kaiser wrote:
> Thanks for the correction. I hope to get my hands onto this soon, so I'll
> try it out asap.

No problem.

I also encountered problems with the program_option and filesystem (in
both the tools and lib wave build) locations as already noted.

Once these had been fixed, BBv2 complains about libs/wave/build not
being able to locate libboost_wave-....lib. The problem here is to do
with auto-linking. Thus, BOOST_WAVE_SOURCE is not being defined.

This fixed, I got an error about tools/wave/build not being able to
locate boost_wave.lib which was fixed by using link=static on the build
command line.

I now have a wave.exe executable :).

NOTE: it might be useful to define an install command:

install bin : wave ;

to make the wave.exe file easier to find (instead of having to navigate
multiple directory levels)!

That done, I have successfully build wave on:

* gcc-3.3
* msvc-7.1
* msvc-8.0 - albeit with a lot of deprecated warnings relating to
sprintf, etc

And get errors when compiling for:

* msvc-7.0 - when building flex_string.hpp: 'std::reverse_iterator' -
too many template arguments. Note that this can be fixed by using
boost::reverse_iterator (which saves the reverse_iterator detection logic):

#include <boost/iterator/reverse_iterator.hpp>

// ...

    typedef boost::reverse_iterator< iterator > reverse_iterator;
    typedef boost::reverse_iterator< const_iterator >
const_reverse_iterator;

Note that I haven't tried building with this fix, although it should
work fine. (It may need the <rtti>off fix for 7.1, though).

Note that I have not tested on msvc-6.5 because it is unlikely that wave
will compile on it.

* cw-9.2 - there are a host of errors when building wave using
Metrowerks CodeWarrior. These relate to:
    * undefined identifier 'time_t' (src/cpplexer/re2clex/cpp.re.cpp)
    * undefined identifiers memcpy, free, etc.
    * const size_t s = e - b; (boost/wave/util/flex_string.hpp)
       implicit 'int' is no longer supported in C++
I think that these relate to missing #include and using directives. E.g.
    using std::size_t;

I will look into these errors.

Regards,
Reece


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