[xsd-users] expat parser and elements.txx error

hhusp house hhusp at outlook.com
Wed Oct 21 03:34:13 EDT 2015




Hi Boris,
I've copied both files to ./xsd-4.0/libxsd/xsd/cxx/parser/expat/Got the same error. I've include the difference of elements.hxx and elements.txx and the original files below.
regards Rob
make cleanmake../../../../bin/xsd cxx-parser --xml-parser expat hello.xsdg++ -I../../../../libxsd -W -Wall -O3 -c driver.cxx -o driver.oIn file included from ../../../../libxsd/xsd/cxx/parser/expat/elements.hxx:362,                 from hello-pskel.hxx:70,                 from driver.cxx:7:../../../../libxsd/xsd/cxx/parser/expat/elements.txx: In member function ‘bool xsd::cxx::parser::expat::document<C>::parse(std::istream&, const std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> >*, const std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> >*, xsd::cxx::xml::error_handler<C>&)’:../../../../libxsd/xsd/cxx/parser/expat/elements.txx:282: error: no match for ‘operator==’ in ‘parser == 0’../../../../libxsd/xsd/cxx/parser/xml-schema.ixx:338: note: candidates are:
diff elements.txx elements.txx.org286,287c286<             parse_begin (<               parser.get (), system_id ? *system_id : *public_id, eh);--->             parse_begin (parser, system_id ? *system_id : *public_id, eh);289c288<             parse_begin (parser.get (), eh);--->             parse_begin (parser, eh);314,317c313,314<             if (XML_Parse (parser.get (),<                            buf,<                            is.gcount (),<                            is.eof ()) == XML_STATUS_ERROR)--->             if (XML_Parse (>                   parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR)825d821<
diff elements.hxx elements.hxx.org54,56c54<         typedef<         std::unique_ptr<XML_ParserStruct, parser_deleter><         parser_auto_ptr;--->         typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr;365d362<
> From: hhusp at outlook.com
> To: xsd-users at codesynthesis.com
> Subject: RE: [xsd-users] expat parser and elements.txx error
> Date: Tue, 20 Oct 2015 21:18:58 +0200
> 
> thanks for the quick reply and the fix.
> Rob
> 
> > Date: Tue, 20 Oct 2015 16:26:13 +0200
> > From: boris at codesynthesis.com
> > To: hhusp at outlook.com
> > CC: xsd-users at codesynthesis.com
> > Subject: Re: [xsd-users] expat parser and elements.txx error
> > 
> > hhusp house <hhusp at outlook.com> writes:
> > 
> > > When I try to build the hello example in (xsd-4.0/examples/cxx/parser/hello)
> > > I get the error:../../../../libxsd/xsd/cxx/parser/expat/elements.txx:282:
> > > error: no match for ‘operator==’ in ‘parser == 0’
> > 
> > Yes, this is a known bug that has been fixed for the next release:
> > 
> > http://scm.codesynthesis.com/?p=xsd/xsd.git;a=commit;h=94cba986108a0e0f42295572ca42c356d59328d7
> > 
> > You can also fix it in 4.0.0 by applying the patch from the above
> > commit.
> > 
> > Boris
>  		 	   		  

 		 	   		  


More information about the xsd-users mailing list