|
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