Re: [Boost-users] Problems compiling Serialisation libs because o f Spirit problem
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
-----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
James Hughes wrote:
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
::type type; }; boost/spirit/core/primitives/numerics.hpp
struct sign_parser : public parser
{ typedef sign_parser self_t; template <typename ScannerT> struct result { typedef typename match_result
::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!
The spirit list is the proper venue for spirit related questions. spirit-general@lists.sourceforge.net. Anyway... I am not sure what the workaround is here. I do not have access to g++3.4.3. We've tested against all versions of g++ (including 2.95.3 for Spirit 1.6.x) and I don't recall any problems. I am currently testing against 3.4.4 and I see no problems. Do you have a minimal cpp test file I can try? Perhaps posting the compiler errors might help. Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
participants (2)
-
James Hughes
-
Joel de Guzman