Re: Unable to compile XML::Xerces-2.4.0 under Windows

Martin Raspe <[email protected]>
Newsgroups gmane.text.xml.xerces-p.devel
Message-ID <[email protected]>
Martin Raspe wrote:

> Jason E. Stewart wrote:
> 
>>> 1.
>>> xercesc\internal\XSerializeEngine.hpp
>>> complains about macros "read" and "write" not having the proper number
>>> of arguments (in fact, they are method names). I don't know where
>>> these macros get defined (probably somewhere in MS VC), but the errors
>>> go away if I put
>>>
>>> #undef read
>>> #undef write
>>>
>>> in the first line of "XSerializeEngine.hpp".
> 
> 
>> Not sure about this one. 
> 
> 
> I found it: "read" and "write" get declared in
> perl/lib/CORE/win32IOp.h (this is Perl 5.6)
> 
> #define read(fd,b,s)        win32_read(fd,b,s)
> #define write(fd,b,s)        win32_write(fd,b,s)
> 
> What I haven't found is where to switch it off with an #undef in 
> Xerces.cpp. 

Here it is:
xerces.cpp, line 258

/* Get rid of free and malloc defined by perl */
#undef free
#undef malloc
#undef read <--- new
#undef write <--- new

and these errors go away.
But now I see new ones, further down in Xerces.cpp - I guess I'll give 
it up for the moment.

Martin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.