[Lemon-user] LEMON with windows.h

Szabolcs Horvát szhorvat at gmail.com
Thu Jun 14 11:56:54 CEST 2018


Hello Lemon users,

The following problem caused me a lot of frustration, so I thought I'd
share the solution with the rest of you.

I had some working LEMON-based code that I wrote on OS X, but then
couldn't compile on Windows due to a few mysterious errors that seemed
to come from the LEMON headers and not my own code.

The problem turned out to be that I was using LEMON in conjunction
with a C library, which in turn includes <windows.h> on Windows
(obviously not on OS X), which in turn defines the macros IN and OUT.
LEMON uses these same names as template parameters, hence the errors.

A simple

#undef IN
#undef OUT

before including any LEMON headers will fix the problem. Doing this
appears to be completely safe (perhaps LEMON could do it by default):

https://stackoverflow.com/questions/35907493/in-and-out-macros-in-minwindef-h

Szabolcs


More information about the Lemon-user mailing list