Boost logo

Boost :

From: Maciej Sobczak (prog_at_[hidden])
Date: 2004-03-12 09:22:18


Hi,

Peter Dimov wrote:

> If you are using precompiled headers, try making 'ignore' static.
> boost/bind/placeholders.hpp has the same problem.

Bingo.

The problem is that the web page I referenced in my previous post was
suggesting replacing the tuple_basic_no_partial_spec.hpp file, where the
"static" keyword was added for MSVC++.

The fun is that this file is meant for compilers that do not support
partial template specializations. MS VC++7.1 supports PTS, so it is the
other file: tuple_basic.hpp that needs to be checked.

I've made ignore static by doing this:

namespace {
#if (defined(BOOST_MSVC) && BOOST_MSVC <= 1310) ||
(defined(__DECCXX_VER) && __DECCXX_VER <= 60590031)
       static
#endif
  detail::swallow_assign ignore;
}

instead of:

namespace {
  detail::swallow_assign ignore;
}

Please note the 1310 value. It means MSVC++7.1.

The other file that you suggested checking (placeholders.hpp) needed the
value 1300 to be changed to 1310 (for MSVC++7.1 to be covered) so that
all _1, _2, ... variables are made static.

Now, after hacking these two files, all is OK.

Thank you very much for your time,

-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/

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