[C++-sig] Re: MSVC6 problems upgrading to Version_1_31_0 tag
RaoulGough at yahoo.co.uk
Fri Feb 6 21:29:19 CET 2004
"Ralf W. Grosse-Kunstleve" <rwgk at yahoo.com> writes:
> Unfortunately I have to confirm that Boost.Python from the 1.31.0
> release fails to compile with Visual C++ 6. :( :( :( I am extremely
> frustrated because I spent days and days recompiling the RC_1_31_0
> branch over and over again with many different compilers. I guess I
> got exhausted because the release was pushed back all the time and
> VC6 dropped off my radar at some point.
OK, the problem looks to be very simple - a member function in the
bidirectional_graph_helper_with_property class template (from
graph/detail/adjacency_list.hpp) is defined outside the class
definition, which MSVC6++ can't handle. I tried moving the definition
of remove_edge inline into the class definition, and the compile
problems disappear (looks like the mem_fn.hpp problem was a
consequential error). Amazingly, the declaration of remove_edge in the
class definition immediately follows a comment that says "Placement of
these overloaded remove_edge() functions inside the class avoids a
VC++ bug". LOL! ROTFL!
I'll report the patch on the main developers' list.
More information about the Cplusplus-sig