
Some more information on this... Looking at the headers that give the error, there appears to be an issue with the result types returned from parsers.... boost/spirit/core/parser.hpp template <typename DerivedT> struct parser { typedef DerivedT embed_t; typedef DerivedT derived_t; typedef plain_parser_category parser_category_t; template <typename ScannerT> struct result { typedef typename match_result<ScannerT, nil_t>::type type; }; boost/spirit/core/primitives/numerics.hpp struct sign_parser : public parser<sign_parser> { typedef sign_parser self_t; template <typename ScannerT> struct result { typedef typename match_result<ScannerT, bool>::type type; }; The derived sign_parser class appears to want to 'override' the base class struct result, but instead the compiler is giving an error. This would appear to be a compiler fault, but I could be way off there - depends whether this compiles in other circumstances!! I am still at loss to fix this so all help gratefully received! James
-----Original Message----- From: James Hughes [mailto:JHughes@Linx.co.uk] Sent: 30 March 2006 11:34 To: 'boost-users@lists.boost.org' Subject: [Boost-users] Problems compiling Serialisation libs because of Spirit problem
Hello all,
I reported some time ago an issue with trying to compile the Boost libs using an ARM cross compiler.
This has just started to have an impact as I wish to try out the Serialisation libs, and these are one of the areas with a compile issue.
The following error is repeated over a considerable number of files and seems to indicate a problem with Spirit.
I am using the latest release version of Boost (1.33.1)- no patches (are there any?) and a gcc v3.4.3 cross compiler to ARM architecture.
Does anyone have any suggestions? I have had no luck figuring it out, but to be honest haven't spent a lot of time on it yet.
Rgds
James