From: David P. <dpi...@me...> - 2011-05-10 17:33:27
|
> In the C++ project I'm wrapping, there are used "container" headers, that > contain a list of values wrapped in a macro, like this: > > // values.h container file > LIST_VALUE_DEF( value1, "string value1") LIST_VALUE_DEF( value2, "string > value2") > > Then the header is used to generate similar declarations/definitions in C++ > code, like this: > > #define LIST_VALUE_DEF(ARG1, ARG2) int ARG1 (); class A { > public: > %include "values.h" > }; > > This will generate class A with members value1() and value2() as expected. > > But when I try to use the same include to generate enum, SWIG says: > "Error: Syntax error in input(3)." > On the constructions like this: > > #define LIST_VALUE_DEF(ARG1, ARG2) ARG1, > enum E > { > %include "values.h" // <-- error is generated on this line > eDummyLastValue > }; %include doesn't work the same way as #include. %include only scans a file once, and perhaps the parser can't handle %include inside an enum. |